OpenSSH版本升级漏洞修复问题
阅读原文时间:2023年08月22日阅读:1

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

@

目录

1、环境

  • 系统版本:CentOS 7.6

  • OpenSSH、OpenSSL版本:OpenSSH_7.4p1、OpenSSL 1.0.2k-fips

2、安装telnet

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

2.1、检查是否安装
rpm -qa telnet-server
rpm -qa xinetd
2.2、安装telnet包
yum -y install telnet
yum -y install xinetd

2.3、启动服务(可不用加入开机启动,根据自己需求来决定)
systemctl start xinetd.service
systemctl start telnet.socket
2.4、测试连接

3、升级OpenSSH版本

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

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

  • OpenSSL包

下载地址:OpenSSL官网


  • Zlib包

下载地址:Zlib下载地址

3.3、编译安装Zlib包
# 解压
tar -xvf zlib-1.3.tar.gz
cd zlib-1.3/
# 编译安装
./configure --prefix=/usr/local/zlib
make && make install
3.4、编译安装OpenSSL包
# 解压
tar -xvf openssl-1.1.1u.tar.gz
# 编译安装
./config --prefix=/usr --shared
make && make install
3.5、编译安装OpenSSH包
# 备份现有SSH
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp /usr/bin/sshd /usr/bin/sshd.bak
cp /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-passwords
make && make install

4、版本升级验证

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

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

5.1、编译有报错,可能是没装gcc,请参考3.1安装依赖

5.2、编译OpenSSH时报证书无法加载,可能需要修改权限

解决方式:

chmod 700 /etc/ssh/ssh_host_rsa_key
chmod 700 /etc/ssh/ssh_host_ecdsa_key
chmod 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版本升级结束,希望文章对大家有所帮助,喜欢的大佬三连支持一下,感谢!