由於Linux服務器SSH版本過低,會遇到如下OpenSSH安全漏洞(建議:升級至最新版)
前期準備:
a.關閉防火牆,防止其他同地址端機器無法telnet連接至升級SSH的機器。
b.開啟telnet服務(此處是為了防止SSH升級失敗,導致無法連接至服務器)
1)使用命令查看已經安裝的telnet包。
通常telnet包是系統默認安裝的,做為客戶端,telnet-server包需要自行安裝,做為服務端。
2)下載或者從安裝光盤裡複製相同版本的telnet-server-0.17-47.el6_3.1.x86_64.rpm包。
安裝telnet-server包,命令如下:
rpm -ivh telnet-server-0.17-47.el6_3.1.x86_64.rpm
安裝完成後可以使用1步驟中的命令查看telnet-server是否安裝成功。
3)開啟telnet服務(有兩種方式)
a)vi /etc/xinetd.d/telnet,將disable=yes改成disable=no
b)chkconfig telnet on 如果需要設置telnet服務為開機自啟動,使用命令chkconfig -add telnet或者chkconfig --add telnet
4)重啟telnet服務
使用命令server xinetd restart或者/etc/init.d/xinetd restart使配置生效。
5)測試telnet服務是否可用,同地址段機器訪問。
開始升級安裝:
1)檢查以下開發devel包是否安裝,安裝方式同上telnet-server
2)安裝完畢後,進行openssh包的編譯安裝:
備份ssh:
mv /etc/ssh /etc/sshbak
mv /usr/bin/ssh /usr/bin/sshbak
mv /usr/sbin/sshd /usr/sbin/sshdbak
openssh編譯安裝:
tar -zxvf openssh-8.2p1.tar.gz
cd openssh-8.2p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check --with-pam
make && make install
安裝完成後查看版本及修改etc下sshd_config文件,如下:
通過service sshd restart重啟sshd,到此openssh升級完畢。
善後工作:
關閉telnet遠程連接服務器:
vi /etc/xinetd.d/telnet,將disable=no 改成disable=yes
使用命令server xinetd restart或者/etc/init.d/xinetd restart使更改生效。
升級失敗回退:
還原備份ssh:
mv /etc/sshbak /etc/ssh
mv /usr/bin/sshbak /usr/bin/ssh
mv /usr/sbin/sshdbak /usr/sbin/sshd
重啟sshd服務:
service sshd restart