升级OpenSSH解决远程代码执行漏洞
openssh漏洞,升级版本解决
注意:openssh升级前,需要将openssl也升级,版本得对应起来,否则升级不了!!!
一、升级openssl
1.1、安装依赖包
# yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel
1.2、下载openssl的包
下载最新版本,下载箭头指的包(看实际最新的包)
openssl下载地址:
这里下载
1.1.1
版本
1.3、将压缩包放到/opt/tools
目录下并解压
# cd /opt/tools
# tar -zxvf openssl-1.1.1k.tar.gz
1.4、备份原目录
# mv /usr/bin/openssl /usr/bin/openssl_bak202012
# mv /usr/include/openssl /usr/include/openssl_bak202012
上面的202012可根据当前日期改变
1.5、编译安装新版本的openssl
# cd /opt/tools/openssl-1.1.1k/
# ./config --prefix=/usr/local/openssl shared zlib
# make
# make install
以上命令执行完毕,echo $?查看下最后的make install是否有报错,0表示没有问题
# echo $?
1.6、创建软链接和加载新配置
# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
# ln -s /usr/local/openssl/include/openssl /usr/include/openssl
# echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
# ldconfig
1.7、检查版本
# openssl version
二、升级openssh
2.1、下载openssh包
下载最新版本,下载箭头指的包(看实际最新的包)
openssh下载地址:
这里下载
8.4
版本
2.2、将压缩包放到/opt/tools
目录下并解压、授权
# cd /opt/tools
# tar -zxvf openssh-8.6p1.tar.gz
可能文件默认显示uid和gid数组都是1000,这里重新授权下。不授权可能也不影响安装
# chown -R root.root /opt/tools/openssh-8.6p1
2.3、备份当前openssh
备份前先停止ssh服务:
# service sshd stop
然后备份:
# mv /etc/init.d/sshd /etc/init.d/sshd.bak202012
# mv /etc/ssh /etc/ssh.bak202012
# mv /usr/sbin/sshd /usr/sbin/sshd.bak202012
# mv /usr/bin/ssh /usr/bin/ssh.bak202012
上面的202012可根据当前日期改变
2.4、编译安装新版本的openssh
# cd /opt/tools/openssh-8.6p1
# ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib
其中:--with-ssl-dir=是openssl的安装路径,如果报:configure: error: PAM headers not found,执行命令:yum -y install pam-devel,然后再 ./configure 一次
# make
# make install
以上命令执行完毕,echo $?查看下最后的make install是否有报错,0表示没有问题
# echo $?
2.5、修改配置
修改配置文件最终为如下内容,其他的不要动:
# vi /etc/ssh/sshd_config
在文件末尾添加以下内容:
PermitRootLogin yes
UseDNS no
2.6、拷贝一些文件到目标位置
# cp -a /opt/tools/openssh-8.6p1/contrib/redhat/sshd.init /etc/init.d/sshd
# cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
# cp /usr/local/openssh/bin/ssh /usr/bin/ssh
2.7、创建服务和开机自启动
# chkconfig --add sshd
# chkconfig sshd on
2.8、测试启动
我本次升级重启服务后无法远程登录连接,只能够执行完上一步操作后立马重启电脑才生效(具体原因未知,阿里云平台反映重启服务器后就正常)
2.9、测试连接
升级了最新openssh需要用最新的ssh客户端(SecureCRT8.7以上)及启用最新的ssh加密协议(curve25519-sha256)
好了,以上就是用升级 OpenSSH 解决 远程代码执行漏洞!!!
今天就先到这里了,溜了溜了溜了!!!^_^
觉得有收获的,帮忙点个赞
呗!!!