注:以下红色字体表强调。
一、升级openssl
0. 首先通过 #openssl version –a查看系统中存在的OpenSSL版本号
(如安装完成新版本后需卸载老版本:#rpm -e --allmatches --nodeps openssl…)—我未卸载
1. 通过#wgethttp://www.openssl.org/source/openssl-0.9.8g.tar.gz获得0.9.8g的源码包 (我用的最新包openssl-1.0.1c.tar.gz)
2. 安装openssl
#tar –xzvf openssl-0.9.8g.tar.gz
#cd openssl-0.9.8g
#./config --prefix=/usr/local/ssl shared zlib
#make
#make test
#make install
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln –s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln –s /usr/local/ssl/include/openssl /usr/include/openssl
(注:如果是64位系统,以下设置应该到lib64目录中才会生效,否则ssh及vsftpd都会出现错误,如:ssh: error while loading shared libraries: libcrypto.so.6: cannot open shared object file: No such file or directory)
mv /usr/lib/libcrypto.so /usr/lib/libcrypto.so.OFF
mv /usr/lib/libssl.so /usr/lib/libssl.so.OFF
ln -s /usr/local/ssl/lib/libcrytpo.so.0.9.8 /usr/lib/libcrypto.so (如:/usr/lib64/libcrypto.so)
ln -s /usr/local/ssl/lib/libssl.so.0.9.8 /usr/lib/libssl.so
ln –s /usr/local/ssl/lib/libcrytpo.so.0.9.8 /lib/libssl.so.6
ln –s /usr/local/ssl/lib/libcrytpo.so.0.9.8 /lib/libcrypto.so.6
3 配置库文件搜索路径
#echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
#ldconfig –v
#为了让上层应用软件调用到新安装的ssl的so动态库,做下面配置
# add the new libs into ldconfig's path
echo "/usr/local/ssl/lib/" >> /etc/ld.so.conf
ldconfig
ldconfig -p | grep libcrypto --- which will be used by apache with ldd link
ldconfig -p | grep libssl --- which will be used by apache with ldd link
查看openssl的版本号,以验正是否安装正确
#openssl version -a
#你可以下面命令来检查当前的openssl是不是新安装的那个,如果不是将新安装的目录放到PATH的最前面!
#which openssl
/usr/local/bin/openssl
#vi /etc/profile
在适当的位置添加PATH=/usr/local/ssl/bin:$PATH
#source profile
再查看:
#which openssl
/usr/local/ssl/bin/openssl
参考http://www.doc88.com/p-808812018993.html
二、升级openssh(一般升级openssl后openssh可能版本不匹配)
下载地址http://openbsd.org.ar/pub/OpenBSD/OpenSSH/portable/
tar zxvf openssh-6.1p1.tar.gz
cd openssh-6.1p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man --with-zlib --with-kerberos5
#make
#make install
#
修改配置文件/etc/ssh/sshd_config
vi /usr/local/etc/sshd_config
把以下参数前面的注释#去掉
Port 22
Protocol 2,1
RhostsRSAAuthentication no
将sshd加入启动服务:
进入ssh安装解压目录
#cp ./contrib/redhat/sshd.init /etc/init.d/sshd
#chmod +x /etc/init.d/sshd
#chkconfig --add sshd
最后,启动 SSH 服务使修改生效:
# service sshd start
重启后确认一下当前的 OpenSSH 和 OpenSSL 是否正确:
# ssh -v
如果看到了新的版本号就ok了