由于更新OpenSSH涉及到安全性問題,為保險起見,在更新前最好安裝telnet服務作為備用方案,然後在更新成功後再停止telnet即可。
一、OpenSSH更新相關源碼包下載下傳位址
安裝依賴包
yum -y install gcc pam-devel zlib-devel openssl-devel telnet*
注:官網說明openssh7.6p1依賴的openssl的版本為>1.0.1e 并且 < 1.1.0
二、編譯相關源碼包
yum install -y zlib(若系統已安裝可不用執行此步驟),這裡我是采用的編譯安裝zlib
1、安裝zlib
解壓
檢視
ll/usr/local/lib
2、安裝openssl-fips
此為FIPS140-2 support module for openssl, 具體說明參見http://www.openssl.org/docs/fips
生成路徑在:
/usr/local/ssl/fips-2.0/
3、安裝openssl
這裡安裝openssl需要注意編譯安裝的方法,是否結合fips子產品,有如下兩種方法:
3.1、更新openssl為1.0.2m,未結合fips子產品編譯
由于我使安裝在原路徑下,是以我将舊的配置檔案挪了一下位置
檢視是否更新成功
3.2、更新openssl為1.0.2m-fips,結合fips進行編譯,編譯參數如下:
至此已全部完成OpenSSL的更新工作
4、安裝openssh
make完成後先不要make install,備份舊的ssh并易名
或用下面,推薦用上面備份
make完成後先不要make install,先解除安裝舊版的openssh
完成後執行make install:
檢視下安裝結果:
[root@bogon openssh-7.6p1]# ssh -V
至此編譯全部安裝完成
三、ssh相關配置
1、配置sshd服務:
複制啟動檔案到/etc/init.d/下并命名為sshd(原先存在舊啟動腳本備份易名):
加入開機啟動:
2、配置允許root使用ssh:
openssh7.6後預設root使用者是不能用ssh遠端登入的(但普通使用者是可以ssh遠端登入的),需要修改配置檔案:
這一操作很重要!很重要!很重要!重要的事情說三遍,因為openssh安裝好預設是不執行sshd_config檔案的,是以即使在sshd_config中配置允許root使用者遠端登入,但是不加上這句指令,還是不會生效!
儲存退出
重新開機ssh服務:
至此更新/安裝完成。
AllowUsers tom