openssh的版本升级

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

进入解压的目录下

1
cd zlib-1.2.11

对configure文件进行编译,此需要装一些依赖包才能正常进行编译

1
./configure --prefix=/usr/local/zlib

对文件进行安装

1
make && make install

二、升级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 被系统找到

1
ldconfig

6、查看openssl版本

1
openssl version -a

此时遇到问题:找不到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
ssh -V

sshd -V

四、修改还原默认设置

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

取消注销指定服务

1
systemctl unmask ssh

重启服务

1
systemctl restart sshd

至此,升级完成


openssh的版本升级
http://yuanql.top/2022/05/17/00_项目经历/信创项目/git与gitlab/openssh的版本升级/
作者
Qingli Yuan
发布于
2022年5月17日
许可协议