- ? 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版本升级结束,希望文章对大家有所帮助,喜欢的大佬三连支持一下,感谢!
© 版权声明
文章版权归作者所有,未经允许请勿转载,侵权请联系 admin@trc20.tw 删除。
THE END