注意:操作前记得多开一个窗口用top挂起,修改失败可能会导致ssh再也连接不上。
1、查看当前OpenSSL和OpenSSH版本号
openssl version
ssh -V
sshd -v
whereis openssl
which openssl
2、下载OpenSSL和OpenSSH
https://mirrors.cloud.tencent.com/openssl/source/openssl-1.1.1w.tar.gz
https://mirrors.cloud.tencent.com/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz
3、备份、卸载原有OpenSSL、安装OpenSSL
[root@localhost ~]# which openssl
/usr/local/bin/openssl
[root@localhost ~]# mv /usr/local/bin/openssl /usr/local/bin/openssl.bak
[root@localhost ~]# tar -xzvf openssl-1.1.1w.tar.gz
[root@localhost ~]# cd openssl-1.1.1w
[root@localhost openssl-1.1.1w]# ./config shared
[root@localhost openssl-1.1.1w]# make && make install
看情况使用软链接
#使用软链接重新指向新路径
ln -s 文件路径 快捷方式路径
4、升级OpenSSH
[root@localhost ~]# tar -xzvf openssh-9.7p1.tar.gz
[root@localhost ~]# cd openssh-9.7p1
[root@localhost openssh-9.7p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-ssl-dir=/usr/local/lib64/
[root@localhost openssh-9.7p1]# make && make install
查看安装后OpenSSL和OpenSSH版本号
[root@localhost ~]# openssl version
OpenSSL 1.1.1w 11 Sep 2023
[root@localhost ~]# ssh -V
OpenSSH_9.7p1, OpenSSL 1.1.1w 11 Sep 2023
Openssl升级后,版本与Library版本不一致的问题
ldd /usr/local/openssl/bin/openssl
#使用软链接重新指向新路径
ln -s 文件路径 快捷方式路径
可以看到他的软链:
ls -l /usr/local/openssl/lib/libssl.so.1.1
因此,要修复这个问题,只需要更新一下libssl.so.1.1和libcrypto.so.1.1即可:
# 也有可能是/usr/local/openssl/lib64,看存在哪个
sudo ln -sf /usr/local/openssl/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
sudo ln -sf /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1