記一次在openEuler系統下離線編譯升級到openssh9.8p1

CyunZing發表於2024-07-24

緣起

由於某個專案上甲方對伺服器進行漏洞掃描,系統為:openEuler 22.03 (LTS-SP4)。提示現有OpenSSH版本存在漏洞,需要升級到openssh-9.8p1的版本(目前最新),遂有了這篇記錄文章。

PS:切記!在升級SSH之前伺服器上最好安裝telnet或其他遠端工具,以防升級失敗導致無法連結上伺服器。

1、檢查版本

[root@localhost cyunzing]# ssh -V
OpenSSH_8.8p1, OpenSSL 1.1.1wa  16 Nov 2023

可以看到現在的OpenSSH版本是8.8p1,在漏洞包含的版本範圍內,需要進行升級。
image

2、下載openssh原始碼包

編譯opensssh時需要伺服器上安裝的openssl版本大於等於1.1.1,而從上面ssh -V的結果可以看到系統預設的OpenSSL版本就是1.1.1。所以不需要考慮升級openssl,直接升級openssh即可。

2.1、伺服器不可以聯網的情況

在可以連結網際網路網路的電腦下載原始碼包,再上傳到內網中的伺服器。
下載地址:https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

2.2、伺服器可以聯網的情況

使用curl(openEuler系統最小化安裝都自帶了這個命令)命令下載,-o是指定下載後儲存的檔名。

curl -o openssh-9.8p1.tar.gz https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

2.3、解壓openssh-9.8p1.tar.gz

上面兩步結合具體情況任選一種即可,這裡我選的是第一種,即2.1、伺服器不可以聯網的情況,儲存在伺服器的目錄地址是/root/cyunzing/updateBugs/(目錄要提前建立好),然後解壓進入目錄。

tar zxvf openssh-9.8p1.tar.gz
cd openssh-9.8p1/

3、編譯安裝openssh

透過2.3、解壓openssh-9.8p1.tar.gz步驟解壓、cd進入openssh-9.8p1/目錄後執行以下命令,檢查編譯環境有無問題和進行編譯安裝。

./configure
make -j4 && make install

4、安裝完畢

重啟sshd服務

這一步如果沒卡住不動就是沒問題了。

systemctl restart sshd

5、檢查是否安裝成功

新開一個遠端連結視窗,執行ssh -V對比未升級前的版本資訊,判斷是否升級完成。

[root@localhost openssh-9.8p1]# ssh -V
OpenSSH_9.8p1, OpenSSL 1.1.1wa  16 Nov 2023

image

相關文章