相信很多金融行业的科技伙伴都会碰到某盟的一个漏洞检测工具,检测Linux操作系统的时候,都会报一个高危的SSH的漏洞,但是修复过程中都会遇到一些未知的问题,如root用户无法登陆,新建用户可以,或者升级完成后用户无法远程登陆。这里记录一次实际操作成功的过程,仅作参考。
环境
CENTOS7,openssl-1.0.2n.tar.gz,openssh-7.6p1.tar.gz
升级步骤
安装TELNET(可选)
安装Telnet的目的是为了在ssh不能登录的情况下,使用Telnet来登录远程操作,如果能直接在主机面前操作,那么这一步可选。
关闭SeLinux和防火墙
vi /etc/selinux/config
修改“SELINUX=enforcing”值改为“disabled”
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
完成后重启下。
卸载原先版本
卸载原先的openssl和openssh版本,通过:
rpm -qa|grep openssl
# 会出现相关安装的包
rpm -e --nodeps xxxxxx(出现的包)
# 依次卸载
rpm -qa|grep openssh
# 会出现相关安装的包
rpm -e --nodeps xxxxxxx(出现的包)
# 依次卸载
- 卸载后建议服务器重启。
下载安装文件
下载
openssl-1.0.2n.tar.gz,openssh-7.6p1.tar.gz
上传至服务器,如果不能直接拷贝到主机,那么这一步最好之前就做好下载后上传到服务器的/usr目录。
解压:
tar xvf openssl-1.0.2n.tar.gz
tar xvf openssh-7.6p1.tar.gz
解压后生成两个对应的文件夹。
升级openssl
先进入openssl文件夹,编译。
cd /openssl-1.0.2m
./config shared && make && make install
过程稍微需要点时间,等待结束后,更新ld.
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig -v
配置openssl库
cp /usr/local/ssl/lib/libssl.so.1.0.0 /usr/lib64
cp /usr/local/ssl/lib/libcrypto.so.1.0.0 /usr/lib64
chmod 555 /usr/lib64/libssl.so.1.0.0
chmod 555 /usr/lib64/libcrypto.so.1.0.0
ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10
ln -s /usr/lib64/libssl.