OpenSSH版本升级漏洞修复问题

  • ? Hi, I’m @Merbelue

大家好,这篇为大家介绍二进制方式对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 telnetyum -y install xinetd

2.3、启动服务(可不用加入开机启动,根据自己需求来决定)
systemctl start xinetd.servicesystemctl 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.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

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

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

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

解决方式:

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYyVmhmj' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片