记centos7.9升级openssh版本到9.8p1

试了几种方法,最后都多少有点问题,最后尝试了这篇博文,全程无报错。CentOS7 OpenSSL升级到OpenSSH9.5p1_checking openssl library version... configure: err-优快云博客

全程使用telnet操作

1.安装依赖包

[root@localhost ~]# yum -y install pam* zlib*

2.查看openssh位置,备份

[root@localhost ~]# whereis ssh sshd
ssh: /usr/bin/ssh /etc/ssh /usr/share/man/man1/ssh.1.gz
sshd: /usr/sbin/sshd /usr/share/man/man8/sshd.8.gz

[root@localhost ~]# mv /etc/ssh /etc/ssh.bak
[root@localhost ~]# mv /usr/bin/ssh /usr/bin/ssh.bak
[root@localhost ~]# mv /usr/sbin/sshd /usr/sbin/sshd.bak
[root@localhost ~]# mv /etc/pam.d/
### 如何将 CentOS 7.9 上的 OpenSSH 升级9.8p1 版本 #### 背景说明 在 CentOS 7.9 中,默认安装的 OpenSSH 版本较低(如 OpenSSH_7.4p1),而由于 CVE-2024-6387 远程代码执行漏洞的存在,建议升级至更安全的版本(如 OpenSSH_9.8p1)。以下是详细的升级过程。 --- #### 步骤概述 ##### 准备工作 确认当前系统的环境信息: ```bash cat /etc/redhat-release uname -a ssh -V ``` 上述命令应返回如下信息: - `CentOS Linux release 7.9.2009 (Core)` - 内核版本:`Linux openssh 3.10.0-1160.el7.x86_64` - 当前 OpenSSH 版本:`OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017`[^1] --- ##### 安装依赖项 为了编译更高版本OpenSSH 和 OpenSSL,需先安装必要的开发工具和库文件: ```bash yum groupinstall "Development Tools" -y yum install gcc make perl zlib-devel pam-devel openssl-devel libedit-devel krb5-devel tcp_wrappers-devel -y ``` --- ##### 下载并解压源码包 下载最新版 OpenSSH 和 OpenSSL 源码包,并将其解压缩: ```bash cd /usr/local/src/ wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz tar zxvf openssh-9.8p1.tar.gz cd openssh-9.8p1/ # 如果需要更新 OpenSSL,则可以按照以下方式操作: wget https://www.openssl.org/source/openssl-3.0.14.tar.gz tar zxvf openssl-3.0.14.tar.gz cd openssl-3.0.14/ ./config --prefix=/usr/local/ssl shared zlib-dynamic make && make test && make install export PATH=$PATH:/usr/local/ssl/bin ``` 注意,在此过程中可能遇到配置错误提示,例如缺少某些头文件或链接器选项。此时可参考博文中的解决方案[^3]。 --- ##### 配置与编译 OpenSSH 进入 OpenSSH 解压目录后运行以下命令完成构建流程: ```bash ./configure \ --sysconfdir=/etc/ssh \ --with-md5-passwords \ --with-pam \ --with-zlib-prefix=/usr \ --with-kerberos5 \ --with-selinux \ --with-libwrap \ --with-ssl-dir=/usr/local/ssl \ CPPFLAGS=-I/usr/local/ssl/include \ LDFLAGS=-L/usr/local/ssl/lib make clean make make install ``` 如果一切正常,新版本的服务程序会被放置于 `/usr/local/sbin/sshd` 及其他相关路径下。 --- ##### 替换原有服务 停止现有 SSHD 服务并将默认位置替换为刚编译好的二进制文件: ```bash systemctl stop sshd cp /usr/local/sbin/sshd /usr/sbin/sshd chmod u+s /usr/sbin/sshd sshd -t # 测试配置文件语法是否正确 systemctl start sshd ``` 验证升级后的版本号: ```bash sshd -V ssh -V ``` 预期输出结果类似于: ``` OpenSSH_9.8p1, OpenSSL 3.0.14 4 Jun 2024 ``` [^2] --- ##### 更新客户端支持 对于远程连接使用的客户端也需要同步调整兼容性设置;否则可能会因协议差异导致无法登录等问题发生。 --- #### 注意事项 在整个操作期间务必小心谨慎以免影响服务器正常使用功能。推荐事先备份重要数据以及录好每一步改动情况以便出现问题时能够快速回滚恢复原状。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值