linux系统升级openssh

一.背景:

客户审查查出openssh版本漏洞,需要升级openssh

当前只能通过堡垒机的ssh协议远程服务器,服务器系统是Red Hat Enterprise Linux Server7.8

系统openssh版本8.5p1,升级到了9.1p1,很顺利

但是继续审查,9.1p1也不行,干脆升级到当前最新版本9.5p1,但是当编译openssh9.5p1时,提示openssl版本太低,需要升级openssl,当时openssl版本是1.0.2k-fips,查了openssh和openssl的版本关联,打算升级openssl到1.1.1w版本

结果就是服务器连不上了

所以openssl大版本升级时,让相关信息科把系统做个快照,开通telnet的23端口,万一ssh无法远程,可以通过telnet协议远程,并且防火墙全程关闭,等到所有升级完,并且重启也没问题后,再把防火墙打开

二.关闭防火墙

// 关闭防火墙服务
systemctl stop firewalld
// 关闭防火墙开机自启
systemctl disable firewalld

三.关闭selinux服务

// 关闭selinux服务
setenforce 0
// 检查是否关闭
getenforce

 上面只是临时关闭了,重启后不生效。下面改配置文件,使永久生效。

vi /etc/selinux/config
修改:
  SELINUX=disabled
保存退出。

四.安装telnet远程

参考,https://www.cnblogs.com/wellwellwell/p/17891212.html,如果自信,可以不用这个步骤

五.下载安装包并存放在opt路径下

openssl下载地址,https://ftp.openssl.org/source/

openssh下载地址,http://ftp.openbsd.org/pub/OpenBSD/OpenSSH

六.安装相关依赖

yum install -y wget gcc libselinux-devel openssl-devel make perl zlib zlib-devel pam pam-devel

七.进入opt路径,并解压两个安装包

cd /opt
tar -xvf openssl-1.1.1w.tar.gz
tar -xvf openssh-9.5p1.tar.gz

八.进入openssl路径,编译并安装

cd /opt/openssl-1.1.1w
./config --prefix=/usr -d shared
make && make install
#将ssl的lib库注册到系统的lib库 echo '/usr/local/ssl/lib' >> /etc/ld.so.conf ldconfig -v

验证

[root@vm206 openssl-1.1.1w]# whereis openssl
openssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz /usr/share/man/man1/openssl.1
[root@vm206 openssl-1.1.1w]# openssl  version
OpenSSL 1.1.1w  11 Sep 2023

九.openssh安装

1.备份

mv /etc/ssh /etc/ssh.bak
mv /usr/bin/ssh /usr/bin/ssh.bak
mv /usr/sbin/sshd /usr/sbin/sshd.bak
mv /etc/pam.d/sshd  /etc/pam.d/sshd.old

2.进入openssh安装路径内,编译并安装

cd /opt/openssh-9.5p1
./configure --prefix=/usr --sysconfdir=/etc/ssh  --with-pam   --with-ssl-dir=/usr/local/lib64/
make && make install

3.修改配置文件

echo 'PermitRootLogin yes' >>/etc/ssh/sshd_config 
echo 'PubkeyAuthentication yes' >>/etc/ssh/sshd_config
echo 'PasswordAuthentication yes' >>/etc/ssh/sshd_config

4.文件替换

mv /etc/pam.d/sshd.old /etc/pam.d/sshd

5.恢复ssh pam认证

复制代码
cp /opt/openssh-9.5p1/contrib/redhat/sshd.init /etc/init.d/sshd

// 移除sshd服务
systemctl stop sshd.service
mv /lib/systemd/system/sshd.service /lib/systemd/system/sshd.service.bak
systemctl daemon-reload

// 添加sshd自启动文件
cp /opt/openssh-9.5p1/contrib/redhat/sshd.init /etc/init.d/sshd
systemctl daemon-reload
/etc/init.d/sshd restart
systemctl daemon-reload

// 添加sshd自启动配置
chkconfig --add sshd
chkconfig --list sshd
复制代码

6.检查

ssh -V

 7.其他问题

参考,https://blog.csdn.net/qq_29431123/article/details/130846987

posted @   精神病人王大夫  阅读(406)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示