一、CentOS7服务器上编译生成OpenSSH9.3p2的RPM包
1、编译打包的shell脚本来源于该项目
https://github.com/boypt/openssh-rpms
解压zip项目包
unzip openssh-rpms-main.zip -d /opt
cd /opt/openssh-rpms-main/
vim pullsrc.sh 修改第23行为source ./version.env
2、sh pullsrc.sh下载源码包
sh pullsrc.sh
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
如果yum源不通,可参考CentOS7下修改配置yum源-CSDN博客修改yum源
执行编译打包脚本
./compile.sh
最后会生成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
ssh -V sshd -V rpm -aq | grep openssh
即可验证当前OpenSSH的版本 可以看到openssh的版本为OpenSSH_9.7p1 使用的是OpenSSL 3.0.13 30
升级后 ssh -V 如果还是显示旧版本,是环境变量的问题
[root@linux ssh]# which ssh
/usr/local/bin/ssh
[root@linux ssh]# which sshd
/usr/local/sbin/sshd
[root@linux ssh]# mv /usr/local/bin/ssh /usr/local/bin/ssh.bak
[root@linux ssh]# mv /usr/local/sbin/sshd /usr/local/sbin/sshd.bak
[root@linux ssh]# cp /usr/sbin/sshd /usr/local/sbin/sshd
[root@linux ssh]# cp /usr/bin/ssh /usr/local/bin/ssh
[root@linux ssh]# ssh -V
OpenSSH_9.7p1, OpenSSL 3.0.13 30 Jan 2024
---------------------------------------------------------------------------------------------------------------------------------
高版本可能导致root账户无法登录,需要按照下图进行配置
1. 更改root可以登录
vi /etc/ssh/sshd_config
2. 更改key权限
操作完毕!