openssh版本升级参考:
https://blog.csdn.net/weixin_37534043/article/details/120822689
问题描述:将ubuntu20.04中的openssh进行版本升级,解决高危漏洞问题
openssh版本:8.2 —-> 8.8
openssl版本:3.0.3
安装包下载
1、openssl
https://www.openssl.org/source/
2、openssh
https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
3、zlib
http://www.zlib.net/
因为直接使用VM平台进行安装的,所以不需要考虑断连问题,也就没有必要安装telnet服务
安装
1、卸载原openssh:
1
| apt-get remove openssh-server openssh-client
|
此时想再通过类似xshell,putty之类的工具访问对应服务器就失效了,所以切勿关闭当前操作界面。
2、安装 libpam0g-dev:
1
| apt-get install libpam0g-dev
|
一、安装zlib
在下载文件夹的目录下解压压缩包
1
| tar xf zlib-1.2.11.tar.gz
|
进入解压的目录下
对configure文件进行编译,此需要装一些依赖包才能正常进行编译
1
| ./configure --prefix=/usr/local/zlib
|
对文件进行安装
二、升级openssl
1、安装命令如下:
1 2 3 4 5 6 7
| tar xf openssl-3.0.3.tar.gz
cd openssl-3.0.3
./config shared zlib 一定要加上shared 参数,要不在安装openssh的时候就无法找到
make && make install
|
2、备份原本的openssl
1 2 3
| mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
|
3、创建软链接到系统位置
因为源码安装默认安装的位置是 /usr/local/ssl 需要将创建软链接到系统位置:
1 2 3
| ln -s /usr/local/bin/openssl /usr/bin/openssl
ln -s /usr/local/include/openssl /usr/include/openssl
|
执行上述命令前,建议先通过 find / -name openssl 查看一下bin和include对应的openssl安装包的位置,不出意外的话,应该和我上面的命令是一样的。
4、 将openssl 的lib 库添加到系统
1
| echo “/usr/local/openssl/lib64” > /etc/ld.so.conf.d/openssl.conf
|
5、使新添加的lib 被系统找到
6、查看openssl版本
此时遇到问题:找不到openssl的存在
通过 find / -name libcrypto.so.3 和 libssl.so.3 查找到对应so文件的位置,并建立软连接,可以直接执行以下命令:
1 2 3
| ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/lib/libssl.so.3
ln -s /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib/libcrypto.so.3
|
使用 openssl version 查看版本号

三、升级openssh
1、备份原openssh文件
1 2 3
| mv /etc/init.d/ssh /etc/init.d/ssh.old
cp -r /etc/ssh /etc/ssh.old
|
2、升级openssh
1 2 3 4 5 6 7
| tar xf openssh-8.8p1.tar.gz
cd openssh-8.8p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl-dir=/usr/local/openssl --with-privsep-path=/var/lib/sshd 需要指定openssl的安装路径
make && make install
|
3、安装完成,查看当前SSH的版本

四、修改还原默认设置
1 2 3 4 5
| cd /etc/ssh
mv sshd_config sshd_config.default
cp …/ssh.old/sshd_config ./
|
使用原来的/etc/init.d/ssh
1
| mv /etc/init.d/ssh.old /etc/init.d/ssh
|
取消注销指定服务
重启服务
至此,升级完成