openssh升级
原来公司有一个项目,因为客户的服务器系统上openssh版本低,扫描有漏洞,需要做openssh升级,因此在网上查了很多升级openssh的资料,实践的时候踩过很多的坑,但是最后还是升级成功了,这里整理记录一下升级的过程,以免大家重复踩同样的坑。
以前我发布在了百度经验上面,现在重新录入在简书里面。
系统:CentOS7
需要准备的包(准备这些rpm包,是因为我要升级的服务器无法联网)
openssl-1.0.2o.tar.gz
openssh-7.7p1.tar.gz
pam-1.1.8-22.el7.x86_64.rpm
pam-devel-1.1.8-22.el7.x86_64.rpm
zlib-1.2.7-17.el7.x86_64.rpm
zlib-devel-1.2.7-17.el7.x86_64.rpm
telnet-0.17-64.el7.x86_64.rpm
telnet-server-0.17-64.el7.x86_64.rpm
openssl-1.0.2k-12.el7.x86_64.rpm
之所以需要低版本的openssl,是因为如果在后面卸载openssl后,无法继续操作的话,再次安装openssl,不至于造成系统无法使用。
这些包可以自己搜索一下去下载,也可以通过yumdownload来下载。(yumdownload 是安装yum-utils后可以使用)
例如下载pam,可以执行:
#yumdownload pam
服务器上面有pam的包。
采用rpm -U升级安装,免得rpm -e --nodeps卸载包出现问题。(而且真有可能出现问题,尤其是zlib包)
#rpm -Uvh pam-1.1.8-22.el7.x86_64.rpm
#rpm -Uvh pam-devel-1.1.8-22.el7.x86_64.rpm
安装openssl-2
安装完毕。
执行命令:
#echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
#ldconfig
配置ssl库
#cp /usr/local/ssl/lib/libssl.so.1.0.0 /usr/lib64
#cp /usr/local/ssl/lib/libcrypto.so.1.0.0 /usr/lib64
#ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10
#ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so
#ln -s /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so.10
#ln -s /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so
#ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
#ln -s /usr/local/ssl/include/openssl /usr/include/openssl
查看openssl版本
#openssl version -a
升级成功
#cp ./contrib/redhat/sshd.init /etc/init.d/sshd
#chkconfig --add sshd
#chkconfig sshd on
#chkconfig --list|grep sshd