在CentOS 7.8上把OpenSSH从7.4p1升级到9.4p1,操作步骤其实很清晰。不过为了避免升级过程中SSH意外断连导致远程失联,建议先装好telnet作为备用通道。
安装telnet工具。
#yum -y install telnet*

启用telnet服务
#systemctl enable telnet.socket #systemctl start telnet.socket

关闭或者修改安全配置文件,否则root用户无法通过telnet登录。
#mv /etc/securetty /etc/securetty.bak

使用telnet登录系统,准备升级OpenSSH。

使用xftp工具上传更新包。

解压缩安装包
#tar -zxvf openssh-9.4p1.xx

切换至安装包目录,执行配置脚本
# cd openssh-9.4p1-xx # ./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/openssl

执行编译并安装
# make && make install
卸载原系统yum安装的openssh包
# yum remove openssh

在/etc目录下新建ssh目录
# mkdir -p /etc/ssh
拷贝openssh安装目录下的配置文件至/etc/ssh目录下
# cp /usr/local/openssh/etc/* /etc/ssh/

编辑sshd_config配置文件,修改图示的三个地方,保存退出。
# vi /etc/ssh/sshd_config

复制关键文件到系统目录
# cp /home/manager/openssh-9.4p1/contrib/redhat/sshd.init /etc/init.d/sshd # cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd # cp /usr/local/openssh/bin/ssh /usr/bin/ssh # cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

添加sshd系统启动并启动服务
# chkconfig --add sshd # systemctl start sshd.service


查看服务状态并设置开机自启,最后确认版本。
# systemctl status sshd.service # systemctl enable sshd.service # ssh -V



注意事项:以上所有操作的前提是已经升级了系统OpenSSL版本——因为OpenSSH依赖于OpenSSL,必须先升级OpenSSL才能继续。
以上就是CentOS 7.8升级OpenSSH的完整步骤,每一步都附有截图和命令,照着操作基本不会出岔子。
