一、CentOS7服务器上编译生成OpenSSH9.3p2的RPM包
1、编译打包的shell脚本来源于该项目
https://github.com/boypt/openssh-rpms
![](https://img-blog.csdnimg.cn/direct/1d047774881a48108625d94cb3c56f11.png)
解压zip项目包
unzip openssh-rpms-main.zip -d /opt
cd /opt/openssh-rpms-main/
vim pullsrc.sh 修改第23行为source ./version.env
![](https://img-blog.csdnimg.cn/direct/7de79ddf7d4141a487e8f3a5843967e8.png)
2、sh pullsrc.sh下载源码包
sh pullsrc.sh
![](https://img-blog.csdnimg.cn/direct/778e312183d14993bb6c964ea3d4b032.png)
3、准备编译所需环境
yum groupinstall -y "Development Tools"
yum install -y imake rpm-build pam-devel krb5-devel zlib-devel libXt-devel libX11-devel gtk2-devel perl perl-IPC-Cmd
执行编译打包脚本
./compile.sh
![](https://img-blog.csdnimg.cn/direct/1f97885e906b456bbcdab42fd4e7a89c.png)
最后会生成rpm包位于
/opt/openssh-rpms-main/el7/RPMS/x86_64/
将生成的rpm包打包
tar -zcvf openssh9.3p2_el7_rpms.tar.gz *.rpm
二、使有rpm包CentOS7服务器上升级OpenSSH
在需要升级OpenSSH版本的CentOS7服务器上升级OpenSSH 具体升级操作命令如下
tar -zxvf openssh9.3p2_el7_rpms.tar.gz -C /home
cd /home
rpm -Uvh *.rpm
rm -rf /etc/ssh/ssh_host_*
systemctl restart sshd
![](https://img-blog.csdnimg.cn/direct/e113ea84582b48bebade795627d0ca18.png)
![](https://img-blog.csdnimg.cn/direct/e6a37b73cbfd48ceb625695a6ba7bce9.png)
ssh -V
sshd -V
rpm -aq | grep openssh
即可验证当前OpenSSH的版本 可以看到openssh的版本为OpenSSH_9.7p1 使用的是OpenSSL 3.0.13 30
高版本可能导致root账户无法登录,需要按照下图进行配置
- 更改root可以登录
![](https://img-blog.csdnimg.cn/direct/d70948f21f76495a80b239bbb92f14bf.png)
- 更改key权限
![](https://img-blog.csdnimg.cn/direct/92a2fc13d5d84c6ba4945febe1142d8c.png)
操作完毕!