当前位置:首页 > linux系统知识 > 正文内容

openssh升级


根据漏扫报告显示,原版本openssh存在漏洞,需将openssh升级到最新版解决,目前openssh最新版本为9.8


升级新版openssh时,需事先安装openssl,zlib作为依赖:

插件版本
openssh9.8p1
openssl1.1.1b
zlib1.2.11


下载安装包

openssh:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

openssl:https://www.openssl.org/source/old/1.1.1/openssl-1.1.1b.tar.gz

zlib:https://zlib.net/zlib-1.2.11.tar.gz


上传到服务器的/opt/openssh目录中,如果没有需要建立


进行备份

创建备份目录/文件存放目录

]# mkdir /opt/openssh9.8p1/backup/{ssh_bin_bak,log,sshd_bin_bak}


复制以下目录/文件

]# cp -r /etc/ssh/ /opt/openssh9.8p1/backup/ssh_bak
]# cp -r ~/.ssh/ /opt/openssh9.8p1/backup/root_ssh_bak
]# cp /var/log/audit/audit.log /opt/openssh9.8p1/backup/log/
]# cp /usr/bin/ssh* /opt/openssh9.8p1/backup/ssh_bin_bak/
]#  cp /usr/sbin/sshd /opt/openssh9.8p1/backup/sshd_bin_bak/


安装openssl

执行安装步骤

]# cd /opt/openssh9.8p1
]# tar xvf openssl-1.1.1b.tar.gz
]# ./config --prefix=/usr/local/openssl1.1.1b
]# make
]# make install


设置环境变量

]# export LD_LIBRARY_PATH=/usr/local/openssl1.1.1b/lib:$LD_LIBRARY_PATH
]# echo 'export LD_LIBRARY_PATH=/usr/local/openssl1.1.1b/lib:$LD_LIBRARY_PATH' >> /etc/profile
]# source /etc/profile


建立库文件软链接

]# ln -s /usr/local/openssl1.1.1b/lib/libcrypto.so.1.1 /usr/lib/
]# ln -s /usr/local/openssl1.1.1b/lib/libcrypto.so.1.1 /usr/lib64/


查看安装版本:

image.png


安装zlib

]# cd /opt/openssh9.8p1
]# tar xvf openssh-9.8p1.tar.gz
]# cd openssh-9.8p1
]# ./configure --prefix=/usr/local/zlib1.2.11
]# make
]# make install

image.png


安装openssh

指定编译安装参数:

]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl1.1.1b --with-zlib=/usr/local/zlib1.2.11

--with-ssl-dir:openssl所在目录,--with-zlib:zlib所在目录


执行make,并检查校验新版本的openssh与当前配置文件是否匹配

]# make
]# /opt/openssh9.8p1/openssh-9.8p1/sshd -t

image.png

如果有报错,需将新版本不支持的参数从配置文件中删除掉

例如:GSSAPIAuthentication,GSSAPICleanupCredentials,UsePAM,这些参数在新版openssh中都不在支持


修改完毕后,再次检查,检查无误后,执行下一步:

]# make install


复制ssh-copy-id脚本到bin目录下,脚本路径是源码包的contrib/ssh-copy-id

]# cp /opt/openssh9.8p1/openssh-9.8p1/contrib/ssh-copy-id /usr/local/bin/


重启sshd

]# systemctl restart sshd


查看openssh版本

image.png


升级回滚

如果新版openssh有问题,比如无法进行远程登录,则需进行回滚,回滚恢复原备份文件即可

]# cp backup/ssh_bin_bak/ssh* /usr/bin
]# cp backup/sshd_bin_bak/sshd /usr/sbin
]# cp -r backup/ssh_bak /etc/ssh


升级脚本

openssh_update.sh

放到与源码包同一目录中执行即可

image.png


注意,openssh比较特殊,升级失败可能会导致无法登录,建议进行远程连接升级时,多开几个远程连

接窗口,且设置连接不断开,防止升级失败后与主机远程连接断开后,无法到服务器上排查问题,有条

件可以做个系统快照。

扫描二维码推送至手机访问。

版权声明:本文由个人博客发布,如需转载请注明出处。

本文链接:https://opszzfwordpress.club/post/222.html

分享给朋友:
返回列表

上一篇:配置内网yum源

没有最新的文章了...

“openssh升级” 的相关文章

linux系统操作

linux系统操作

1、更改主机名hostnamectl set-hostname+新主机名   &...

权限管理

权限管理

1、权限标识r:读权限  4w:写权限    2x:执行权限...

linux配置FTP

linux配置FTP

1、下载ftpyum -y install vsftpd2、建立ftp使用用户、组useradd -...

构建linux时间服务器

构建linux时间服务器

1、环境准备服务器ipip功能172.16.0.3ntp服务端172.16.0.2客户端在服务端和客...

du和df查看的数值不一致

du和df查看的数值不一致

我们通过df和du分别查看分区,发现二者的数值有时并不完全一样首先简单介绍一下二者的概念:df:di...

防止DNS配置文件修改

防止DNS配置文件修改

问题描述:DNS配置文件:/etc/resolv.conf 增加配置了:nameserver 114...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。