5

OpenSSH版本升级漏洞修复问题 - 谭咏麟

 1 year ago
source link: https://www.cnblogs.com/Merbleue/p/17648999.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

OpenSSH版本升级漏洞修复问题

  • 👋 Hi, I’m @Merbelue

大家好,这篇为大家介绍二进制方式对OpenSSH版本升级,在生产环境中可用于解决版本升级、漏洞修复等。

  • 系统版本:CentOS 7.6
20230822142433.png
  • OpenSSH、OpenSSL版本:OpenSSH_7.4p1、OpenSSL 1.0.2k-fips
20230822143340.png

2、安装telnet

由于生产环境中对OpenSSH升级会存在一定风险,导致SSH连不上,所以在升级前可安装telnet服务,在升级失败时可以telnet进行恢复。

2.1、检查是否安装
rpm -qa telnet-server rpm -qa xinetd
2.2、安装telnet包
yum -y install telnetyum -y install xinetd
20230822144042.png
2.3、启动服务(可不用加入开机启动,根据自己需求来决定)
systemctl start xinetd.servicesystemctl start telnet.socket
2.4、测试连接
20230822144807.png

3、升级OpenSSH版本

3.1、安装依赖
yum install wget gcc openssl-devel pam-devel rpm-build
3.2、下载二进制包
  • OpenSSH最新版本包

下载地址:OpenSSH阿里云源地址

  • OpenSSL包

下载地址:OpenSSL官网

20230822150146.png
20230822150237.png
  • Zlib包

下载地址:Zlib下载地址

3.3、编译安装Zlib包
# 解压tar -xvf zlib-1.3.tar.gzcd zlib-1.3/# 编译安装./configure --prefix=/usr/local/zlibmake && make install
3.4、编译安装OpenSSL包
# 解压tar -xvf openssl-1.1.1u.tar.gz# 编译安装./config --prefix=/usr --sharedmake && make install
3.5、编译安装OpenSSH包
# 备份现有SSHcp /etc/ssh/sshd_config /etc/ssh/sshd_config.bakcp /usr/bin/sshd /usr/bin/sshd.bakcp /usr/sbin/sshd /usr/sbin/sshd.bak# 解压tar -xvf openssh-9.4p1.tar.gz# 编译安装./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/zlib --with-md5-passwordsmake && make install

4、版本升级验证

# 重启ssh服务systemctl restart sshd# 查看版本ssh -V
20230822160922.png

5、可能遇到得问题及解决

5.1、编译有报错,可能是没装gcc,请参考3.1安装依赖
20230822160806.png
5.2、编译OpenSSH时报证书无法加载,可能需要修改权限
20230822161119.png

解决方式:

chmod 700 /etc/ssh/ssh_host_rsa_keychmod 700 /etc/ssh/ssh_host_ecdsa_keychmod 700 /etc/ssh/ssh_host_ed25519_key
5.3、重启ssh服务,无法启动或者一直重启,可能sshd不兼容systemd造成的

解决方式:

# 在OpenSSH安装包目录下cp contrib/redhat/sshd.init /etc/init.d/sshd# 移除sshd.service文件mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.bak# 重新加载配置systemctl daemon-reload# 添加开机启动chkconfig sshd on

结束:OpenSSH版本升级结束,希望文章对大家有所帮助,喜欢的大佬三连支持一下,感谢!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK