关键词: CentOS7 OpenSSH升级, OpenSSH 10.0p2安装, Telnet备份方案, SSH安全升级
本文详细介绍如何在CentOS7系统上将OpenSSH升级到10.0p2版本,并通过启用Telnet作为备份方案,确保升级过程中不会因SSH断开而失去连接。适合所有Linux运维人员及初学者参考。
首先,登录CentOS7服务器,检查当前OpenSSH版本和系统信息:
ssh -Vcat /etc/redhat-releaseuname -a 确认当前SSH版本(通常为7.4p1),并记录。同时确保系统已安装基本的编译工具:
yum install -y gcc make zlib-devel openssl-devel pam-devel rpm-build wget 为了防止升级过程中SSH服务异常导致无法远程登录,我们需要先安装并启动Telnet服务作为备用通道。
yum install -y telnet-server xinetdsystemctl enable xinetdsystemctl enable telnet.socketsystemctl start telnet.socketsystemctl start xinetd 默认情况下,Telnet禁止root登录。如需允许root通过Telnet登录,执行以下操作:
echo "pts/0" >> /etc/securettyecho "pts/1" >> /etc/securetty # 根据需要添加多个 并修改PAM配置(/etc/pam.d/login),注释掉或修改相应行。测试Telnet连接确保可用。
OpenSSH 10.0p2需要较高版本的OpenSSL(如1.1.1以上)。CentOS7自带的OpenSSL版本为1.0.2k,不满足要求,因此我们需要升级OpenSSL。
cd /usr/local/srcwget https://www.openssl.org/source/openssl-1.1.1t.tar.gztar -xzf openssl-1.1.1t.tar.gzcd openssl-1.1.1t./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlibmake && make install 配置库路径:
echo "/usr/local/openssl/lib" > /etc/ld.so.conf.d/openssl.confldconfig 从OpenSSH官网或镜像下载源码包:
cd /usr/local/srcwget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.0p2.tar.gztar -xzf openssh-10.0p2.tar.gzcd openssh-10.0p2 配置编译参数,指定OpenSSL路径:
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --with-privsep-path=/var/empty/sshd 如果/var/empty/sshd不存在,先创建:mkdir -p /var/empty/sshd。然后编译安装:
make && make install 安装完成后,备份原有配置文件:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bakcp /etc/ssh/ssh_config /etc/ssh/ssh_config.bak 复制新的配置文件(如果源码目录下有):
cp contrib/redhat/sshd.init /etc/init.d/sshdchmod +x /etc/init.d/sshd 根据需要修改sshd_config,例如允许root登录、启用密码认证等。然后重启sshd:
systemctl restart sshdsystemctl enable sshd 在新终端窗口中尝试使用SSH连接服务器,确认能够正常登录,并检查版本:
ssh -V # 应显示OpenSSH_10.0p2 确认无误后,关闭并卸载Telnet服务:
systemctl stop telnet.socketsystemctl stop xinetdsystemctl disable telnet.socketsystemctl disable xinetdyum remove -y telnet-server xinetd 同时清理/etc/securetty中添加的行。
如果升级后SSH无法启动,可以通过Telnet登录(如果未关闭)或使用带外管理(如IPMI)进行修复。可以回滚到备份版本:
yum reinstall openssh-server -y # 恢复系统自带的ssh 或恢复备份的配置文件并重启sshd。
注意:整个升级过程中,Telnet备份方案是保障远程连接不中断的关键,务必在升级前测试好Telnet登录。
通过以上步骤,您已成功将CentOS7的OpenSSH升级至10.0p2,并掌握了Telnet备份技巧,确保系统安全与可维护性。
本文由主机测评网于2026-03-10发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:http://www.vpshk.cn/20260329944.html