记一次升级openssh9.0(openssh 安全漏洞CVE-2021-41617)
升级openssh9.0(openssh 安全漏洞CVE-2021-41617)
·
记一次升级openssh9.0(openssh 安全漏洞CVE-2021-41617)
服务器版本 centos 7
包名 | 版本 |
---|---|
openssh | 9.0p1 |
openssl | 1.1.1p |
zlib | 1.2.7-20.el7_9 |
zlib-devel | 1.2.7-20.el7_9 |
1.下载openssh安装包
2.到服务器解压准备安装
解压安装
# pwd
# /usr/local
tar xf openssh-9.0p1.tar.gz
cd openssh-9.0p1
./configure && make -j 2 && make install
发现安装报错
Error *** zlib.h missing
搜索引擎告诉我是缺少zlib 和 zlib-devel 包
3.安装zlib zlib-devel
下载地址
zlib-devel: http://mirror.centos.org/centos/7/updates/x86_64/Packages/zlib-devel-1.2.7-20.el7_9.x86_64.rpm
zlib: http://mirror.centos.org/centos/7/updates/x86_64/Packages/zlib-1.2.7-20.el7_9.x86_64.rpm
使用yum本地安装rpm包
zlib-devel 依赖于 zlib ,所以需要先安装zlib
yum -y install *.rpm
继续执行ssh安装,发现报错
Error *** working libcrypto not found
搜素引擎告诉我是缺少openssl,或者找不到安装目录
使用命令查看
which openssl
/usr/bin/openssl
可以找到openssl,于是猜想是不是版本问题,更新一下版本
4.安装openssl
下载地址:https://www.openssl.org/source/openssl-1.1.1p.tar.gz
下载后解压
# pwd=/usr/local/
cd openssl-1.1.1p/
# 安装
./config --prefix=/usr/local/openssl && make && make install
# 备份原openssl
mv /usr/bin/openssl /usr/bin/openssl.bak
# 建立软连接
ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
# 写入配置
echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf
ldconfig -v
安装完成后查看版本
openssl version
# 发现报错
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
# 是因为对应的文件路径没有找到
# 建立软连接
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
# 重新查看版本
openssl version
OpenSSL 1.1.1p 21 Jun 2022
5.重新安装openssh
执行
cd /usr/local/openssh-9.0p1
./configure && make -j 2 && make install
# 发现依然报错 Error *** working libcrypto not found
# 指定openssl位置
./configure --with-ssl-dir=/usr/local/openssl && make -j 2 && make install
安装成功后执行 ssh -V
发现还是原来的版本, /usr/local/bin/ssh -V
是新版本
# 备份原ssh文件
mv /usr/bin/ssh /usr/bin/ssh.bak
# 创建软连接
ln -sf /usr/local/bin/ssh /usr/bin/ssh
ssh -V
OpenSSH_9.0p1, OpenSSL 1.1.1p 21 Jun 2022
重启ssh服务
systemctl daemon-reload
systemctl restart sshd
6.重新连接服务器
在windows上使用ssh连接
ssh root@xxx.xxx.xx.xx
连接报错Host key verification failed.
出现这个错误是因为之前连接过服务器在客户端保存了连接认证信息,在用户目录下找到 .ssh/known_hosts
文件,删除ip对应的行,重新连接,连接成功
更多推荐
已为社区贡献2条内容
所有评论(0)