前言:
對linux伺服器做過漏洞掃描的都知道,常常伺服器會被掃出一大堆關于openssh的漏洞,諸如下面這些,而其中的原因就是因為openssh版本比較低。于是就需要更新openssh的版本。下面就來解決一下這些問題。網上關于openssh更新版本的教程很多,但在實際過程中總會出現這樣那樣的問題,導緻更新失敗,甚至會導緻ssh無法連接配接,本篇綜合各類教程,并搭建了相應的靶機進行實操,親測成功!也算是對這些漏洞的修複畫一個句号。

流程:
安裝前,可以使用ssh -V以及openssl version查詢一下目前版本:
1,安裝telnet
先檢視原伺服器有無安裝telnet:
如果在傳回中沒有telnet-server,就代表并未安裝telnet服務端,執行下面操作即可。
直接安裝這三個軟體:
進行一些配置:
啟動telnet服務:
使用netstat -antpl | grep 23,如果有傳回值,則說明安裝成功
配置telnet連接配接方式:
然後在下面添加這幾行:
配置完畢之後,使用如下指令,會看到的是這樣:
在防火牆上開放23端口:
重新開機防火牆:
檢視防火牆上開放的服務:
可以看到,其中有telnet了。
退出ssh,使用telnet遠端連接配接,以下均是在telnet連接配接下的操作。
2,備份
3,關閉selinux并重新開機:
将其中的SELINUX=enforcing改為SELINUX=disabled
重新開機并getenforce:
4,更新openssl
下載下傳openssl:https://ftp.openssl.org/source
從該網站下載下傳最新版本的openssl-1.1.1l.tar.gz
拖到linux中,或者wget https://ftp.openssl.org/source/openssl-1.1.1l.tar.gz也可。
解壓:
進入openssl目錄:
清理舊檔案并安裝依賴包:
檢查檔案并移走備份:
編譯安裝:
[root@localhost openssl-1.1.1l]# ./config --prefix=/usr/local --openssldir=/usr/local/openssl && make && make install
再次安裝:
檢查編譯安裝結果,如果輸出為0,則代表安裝成功:
配置openssl:
安裝成功,檢視openssl版本:
5,更新openssh
下載下傳openssh:https://openbsd.hk/pub/OpenBSD/OpenSSH/portable
這裡下載下傳最新版本:openssh-8.7p1.tar.gz
拖拽或者直接wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.7p1.tar.gz均可。
進入openssh目錄:
編譯檔案:
最後應該為這個樣子:
檢查輸出結果:
為0說明編譯正常。
安裝:
配置ssh并啟動:
移走原先服務,有報錯可以無視:
重新開機sshd:
檢視是否正常開放:
檢視版本:
使用ssh測試連通:
6,關閉并解除安裝telnet:
結束!