作者:鄧聰聰
解決方案是升級高版本,下面是升級的步驟
1;安裝telnet工具,因為升級過程中怕失敗或者重啟ssh失敗。我們直接yun安裝即可。
同時安裝服務端和客戶端命令: yum –y install telnet*
接下來,編輯配置文件vi /etc/xinetd.d/telnet
# default: on # description: The telnet server serves telnet sessions; it uses \ # unencrypted username/password pairs for authentication. service telnet { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = no }
將disable的參數yes修改為no
然后重啟telnet服務:service xinetd restart
2;測試通過telnet的方式輸入賬號密碼正常登錄
telnet localhost
輸入用戶名密碼登陸成功,便測測成功了!
注意:如果無法telnet登陸的話: mv /etc/securetty /etc/securetty.bak
使用腳本升級ssh
#!/bin/sh mkdir openssh_update cd openssh_update oldversion=`ssh -V 2>&1` echo "開始執行 OpenSSH 版本升級腳本" echo -e "當前OpenSSH版本為: \033[31m $oldversion \033[0m" echo "下載OpenSSH 7.5p1源代碼......" { wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz tar -zxf openssh-7.5p1.tar.gz } &>> install.log echo "備份原版OpenSSH......" { mv /etc/ssh/ ./ssh.bak } &>> install.log echo "安裝編譯所需依賴,耗時較長,請耐心等待......" { yum -y install gcc zlib-devel openssl-devel } &>> install.log echo "配置並編譯OpenSSH......" { cd openssh-7.5p1/ ./configure --prefix=/usr --sysconfdir=/etc/ssh make } &>> install.log echo "卸載舊版OpenSSH......" { rpm -e --nodeps `rpm -qa | grep openssh` } &>> install.log echo "開始安裝......" { make install chmod 0600 /etc/ssh/ssh_host_rsa_key chmod 0600 /etc/ssh/ssh_host_ecdsa_key chmod 0600 /etc/ssh/ssh_host_ed25519_key make install } &>> install.log newversion=`ssh -V 2>&1` echo "開始執行 OpenSSH 版本升級腳本" echo -e "安裝完成,當前SSH版本為: \033[32m $newversion \033[0m" echo "配置權限及啟動項......" { cp contrib/redhat/sshd.init /etc/init.d/sshd chkconfig --add sshd sed -i '/#PermitRootLogin prohibit-password/c'"PermitRootLogin yes" /etc/ssh/sshd_config } &>> install.log echo "重啟SSH服務......" service sshd restart echo "升級完成"
3;通過其他機子telnet登錄,啟動ssh服務,至此ssh升級完成