Centos 6.5/6.10 操作系統OpeSSH高危漏洞修復、離線升級OpeSSH詳細步驟,內外網通用教程,純手打
升級所需要的所有包下載地址:https://download.csdn.net/download/qq_42626061/12595713
當然也可以自行去下載,清單如下:
1.准備工作,准備好升級安裝需要的包,清單如下
telnet-0.17-47.el6.x86_64.rpm
telnet-server-0.17-47.el6.x86_64.rpm
xinetd-2.3.14-34.el6.x86_64.rpm
zlib-1.2.8.tar.gz
openssh-7.4p1.tar.gz
openssl-1.0.1h.tar.gz
上面截圖這些包是操作系統版本包,可以先到外網Linux操作系統下載好 ,命令yum install --downloadonly gcc zlib zlib-devel openssl-devel 下載。
默認下載緩存位置/var/cache/yum/x86_64/7/base/packages 。下載好后再拉到內網。也可以用我發的鏈接地址里面的包,鏈接地址已經將所有包下載好
1.1查看 openSSH版本
2.安裝telnet和守護線程並測試
rpm -ivh --force --nodeps telnet-0.17-47.el6.x86_64.rpm
rpm -ivh --force --nodeps telnet-server-0.17-47.el6.x86_64.rpm
rpm -ivh --force --nodeps xinetd-2.3.14-34.el6.x86_64.rpm
rpm -qa | grep telnet 查看是否已經安裝了telnet

rpm -qa | grep xinetd 查看是否已經安裝了xinetd服務,因為telnet是掛在xinetd下的
chkconfig telnet on 設置開機啟動,避免升級過程中服務器意外重啟后無法遠程登錄系統
vim /etc/xinetd.d/telnet 修改配置文件將”disable= yes”改成” disable=no”

service xinetd restart 重啟xinetd服務
iptables防火牆會阻止telnet,所以需要在iptables允許,用如下命令
當你啟動telnet服務后,你可以用netstat –tunlp命令來查看telnet服務所使用的端口,可以發現有23。使用下面命令開啟這些端口:
iptables -I INPUT -p tcp --dport 23 -jACCEPT
iptables -I INPUT -p udp --dport 23 -jACCEPT
service iptables save //保存
service iptables restart //重啟防火牆
測試登錄 telnet ip port (使用非root賬戶)
3.1 重要文件備份
防止升級失敗導致文件丟失,請將重要文件和ssh配置文件備份
ssh配置文件備份:
sudo cp -r /etc/ssh/ /etc/ssh_bak
sudo cp /etc/init.d/sshd /etc/init.d/sshd_bak
sudo cp /usr/sbin/sshd /usr/sbin/sshd_bak
3.2卸載舊版本SSH
1.確認OpenSSH需要刪除的rpm包
先查看rpm -qa |grep ssh
2.使用rpm的方式刪除
rpm -e openssh-server-5.3p1-124.el6_10.x86_64
rpm -e openssh-clients-5.3p1-124.el6_10.x86_64
rpm -e openssh-5.3p1-124.el6_10.x86_64
我在這一步安裝操作系統鏡像包,第一步准備工作只是在外網上下載,並沒有安裝,將這些包拉倒內網后,這里才是安裝,全部都要一個個安裝
例:rpm -ivh --force --nodeps zlib-1.2.7-18.el7.x86_64
3.3 安裝ssh新版本
3.3.1 安裝zlib
1.解壓
sudo tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
2.配置
./configure
這個地方安裝如果報錯則 vim configure 文件,然后刪除以下所有內容
echo “Checking for obsessive-compulsive compiler options…” >>
configure.log
if try $CC -c $CFLAGS $test.c; then : else echo “Compiler error
reporting is too harsh for $0 (perhaps remove -Werror).” | tee -a
configure.log leave 1 fi
3.編譯安裝
make
make install
3.3.2 安裝openssl
1.解壓
tar –xf openssl-1.0.1h.tar.gz
cd openssl-1.0.1h
2.配置
./config
3.編譯安裝
make
make install
4.設置軟連接, 這一步會報File exists,忽略,然后進行下一步操作
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
5.查看新安裝的openssl版本
openssl version –a
3.3.3 安裝openssh
1.解壓
tar –xf openssh-7.4p1.tar.gz
cd openssh-7.4p1
2.配置
./configure
3.編譯安裝
make
make install
4.修改配置文件
(1)備份sshd文件
mv /etc/init.d/sshd /etc/init.d/sshd_old (這步可以不做)
(2)復制配置文件
cp /home/upOpenSSH/openssh-8.3p1/contrib/redhat/sshd.init /etc/init.d/sshd
賦權
chmod u+x /etc/init.d/sshd
添加到開機啟動項
chkconfig --add sshd
chkconfig sshd on
設置sshd路徑
vim /etc/rc.d/init.d/sshd
SSHD=/usr/local/sbin/sshd
設置運行root用戶登錄
vim /usr/local/etc/sshd_config
PermitRootLogin yes
重啟服務,注意,這個時候你要確保能通過其他途徑進入桌面,比如vnc,否則的話不要進行下一步,因為service sshd restart
並不會將ssdh服務重啟,導致無法通過ssh、xshenll工具連接linux操作系統,這時就只能重裝系統!!!,
service sshd restart
這時候重新用ssh連接會發現連不上,進Linux桌面發現service sshd status 狀態是關的 service sshd start即可
到此升級完成。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
確認升級后的SSH版本可用時,停止telnet服務
1.確認版本
ssh –V 確認升級后的版本信息
2.修改配置文件
將vi /etc/xinetd.d/telnet文件中的disable = no修改為disable = yes
3.設置telnet開機不啟動
chkconfig xinetd off
4.關閉telnet服務
/etc/init.d/xinetd stop
5.開啟防火牆並設置開機自動啟動
service iptables start
chkconfig iptables on