环境:centos 7 由于OpenSSL 拒绝服务漏洞(CVE-2020-1971) 需要将openssl进行升级 参考网站:https://jingyan.baidu.com/article/08b6a5916ecc5214a9092244.html 1.准备rpm包,从官网下载:http://www.rpmfind.net/linux/rpm2html/search.php 准备预备ssh无法连接从telnet连接的方式. pam-1.1.8-23.el7.x86_64.rpm pam-devel-1.1.8-23.el7.x86_64.rpm systemd-219-78.el7.x86_64.rpm systemd-libs-219-78.el7.x86_64.rpm systemd-sysv-219-78.el7.x86_64.rpm telnet-0.17-65.el7_8.x86_64.rpm telnet-server-0.17-65.el7_8.x86_64.rpm xinetd-2.3.15-14.el7.x86_64.rpm zlib-1.2.7-18.el7.x86_64.rpm zlib-devel-1.2.7-18.el7.x86_64.rpm 注意:这下rpm包可能随时间更新,版本有所变化,所以还是根据官网下载当时的包。 升级次序 1.1 rpm -Uvh pam-1.1.8-23.el7.x86_64.rpm --nodeps --force 1.2 rpm -Uvh pam-devel-1.1.8-23.el7.x86_64.rpm --nodeps -force 1.3 rpm -Uvh xinetd-2.3.15-14.el7.x86_64.rpm --nodeps -force 1.4 rpm -Uvh zlib-1.2.7-18.el7.x86_64.rpm --nodeps -force 1.5 rpm -Uvh zlib-devel-1.2.7-18.el7.x86_64.rpm --nodeps -force 备注:其它运行时提醒需要什么,就安装什么。在官网去下载. 2.启动xinetd #systemctl start xinetd 查看状态 #systemctl status xinetd #systemctl enable xinetd 3.启动telnet # systemctl start telnet.socket # systemctl status telnet.socket # systemctl enable telnet.socket 4.默认情况下,telnet是不允许root登录的。 执行命令: # echo "pts/0" >> /etc/securetty # echo "pts/1" >> /etc/securetty 5.关闭防火墙 # systemctl stop iptables 6.编辑pam配置文件,以便telnet允许root登录。 # vi /etc/pam.d/login 注释 这一行 auth [user_unknown=ignore succes=ok ignore=ignore ...] 7.编辑配置文件: #vi /etc/pam.d/remote 如图注释这一行 auth required pam_securetty.so 8.重启xinetd,telnet服务 #systemctl restart xinetd #systemctl restart telnet.socket 9.然后从其他服务器利用telnet测试登录(当然另外一台服务器上已经安装了telnet) #telnet ip 输入账号密码,登录成功。 telnet可以登录,实际上是开了另外一条可以登录服务器的通道,以免ssh升级出错,造成无法登录服务器。 10.升级 openssl 11.先确保你的服务器上已经有gcc,gcc-c++。这两个是编译工具。 #rpm -qa |grep gcc 没有安装。 则执行安装,这里我已经下载了gcc,gcc-c++的包。 如果你的服务器联网,可以执行: #yum install gcc gcc-c++ 12.官网下载openssl-1.1.1i.tar.gz,并解压 tar -zxvf openssl-1.1.1i.tar.gz 13.下载基线openssl版本:openssh-1.0.le.tar.gz, 并解压 tar -zxvf openssh-1.0.le.tar.gz (https://www.openssl.org/source/old/1.0.1/openssl-1.0.1e.tar.gz) 14.卸载旧的openssl包。 #for i in $(rpm -qa |grep openssl);do rpm -e $i --nodeps ;done 15.进入openssl-1.1.1i 目录 cd openssl-1.1.1i 执行 ./config shared 16.执行 make&&make install 17.安装完毕。 执行命令: #echo "/usr/local/ssl/lib" >> /etc/ld.so.conf #ldconfig 配置ssl库 #cp /usr/local/ssl/lib/libssl.so.1.1 /usr/lib64 #cp /usr/local/ssl/lib/libcrypto.so.1.1 /usr/lib64 #ln -s /usr/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.10 #ln -s /usr/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so #ln -s /usr/lib64/libssl.so.1.1 /usr/lib64/libssl.so.10 #ln -s /usr/lib64/libssl.so.1.1 /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 升级成功 18.此时由于openssl升级到最新,导致老版本的wge、yum等命令无法使用 参考网址:https://blog.csdn.net/uniom/article/details/54092570 19.进入openssh-1.0.le 20. #./config shared zlib-dynamic #make 21. 将生成的 libssl.so.1.0.0,libcrypto.so.1.0.0两个文件拷贝到/usr/lib64 22.#cd /usr/lib64/ 23.ln -s libssl.so.1.0.0 libssl.so.10 (如果提示已经存在,则先删除链接) 24.ln -s libcrypto.so.1.0.0 libcrypto.so.10 (如果提示已经存在,则先删除链接) 25.尝试、wget、yum等命令,发现可以使用了...