升級環境
系統為 CentOS7.9 版本,OpenSSH 版本為默認的 7.4 版本
軟體包準備
準備一台可以上網的 CentOS7.9 的虛擬機,下載 telnet 相關的 rpm 包離線使用
yum install --downloadonly --downloaddir=. xinetd telnet telnet-server
新版 OpenSSH 的 rpm 包可以使用 Github 上開源腳本打包
https://github.com/boypt/openssh-rpms
升級 openssh 前開啟 telnet (可選)#
離線安裝 telnet 服務,使用 rpm 命令安裝 telnet
telnet 服務需要安裝 telnet-server 和 xinetd 兩個包,telnet 是客戶端工具
啟動 xinetd.service 和 telnet.socket 服務
systemctl restart xinetd.service telnet.socket
使用 root 登錄需要在/etc/securetty
文件結尾添加 pts 終端
[root@localhost ~]# echo pts/0 >> /etc/securetty
[root@localhost ~]# echo pts/1 >> /etc/securetty
若伺服器啟用了防火牆,需要放行下 telnet
[root@localhost ~]# firewall-cmd --add-service=telnet
此時可以使用 telnet 登錄伺服器了
升級 OpenSSH#
由於打包成了 rpm 包,所以比起源碼編譯簡單多了,可以使用 rpm 命令升級
使用 rpm -Uvh 直接升級即可
解壓並安裝 rpm 包,安裝前最好將原來的 ssh 配置備份
[root@localhost ~]# tar xf openssh-9.9p1-1.el7.tar.gz
[root@localhost ~]# mv /etc/ssh /etc/ssh.bak
[root@localhost ~]# rpm -Uvh openssh*.rpm
安裝完成新版 openssh 後重啟 sshd, 並修改為開機啟動
sshd 服務正常啟動,但是有一個錯誤提示,openssh9.9 版本默認禁用了 dsa
/sbin/restorecon: lstat(/etc/ssh/ssh_host_dsa_key.pub) failed: No such...
修改配置文件取消加載 dsa_key
修改後重新加載配置並重啟 sshd 服務,報錯信息消失
openssh 升級完成