您好,登錄后才能下訂單哦!
redhat linux6.5如何升級openssh到7.5p1,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
linux系統的安全加固,一般都會將openssh服務升級到最新版本,加強遠程連接的安全性。
官網發布了openssh 7.4以下openssh版本存在嚴重漏洞例如:
1.OpenSSH 遠程權限提升漏洞(CVE-2016-10010)
2.OpenSSH J-PAKE授權問題漏洞(CVE-2010-4478)
3.Openssh MaxAuthTries限制繞過漏洞(CVE-2015-5600)
OpenSSL>=1.0.1可以不用升級OpenSSL,可直接升級openssh。
升級需知:
查閱官方網站openssh,了解其最新的版本信息及其對系統內核和其它依賴組件的要求。
然后備份系統中現有的openssh信息,以備升級失敗后進行回退。再根據說明優先完成其依賴組件的升級。
最后升級openssh,并進行驗證。
openssh最新的版本是2019年4月17日釋出的OpenSSH 8.0。
一、首先打開兩個或以上的shell連接,因為在升級過程中如果升級失敗會導致無法新建shell連接;或開一個telnet服務。
在安裝之前先記下sshd.pid路徑,因為在啟動文件sshd中要更改此路徑。
下載openssl-1.0.2l.tar.gz、openssh-7.5p1.tar.gz包并將安裝包傳入服務器中;
卸載現有版本openssh:rpm -e 'rpm -qa |grep openssh'
刪除/etc/ssh/下所有文件,在卸載完openssh后此路徑下文件不會刪除,需手動刪除;
二、具體步驟:
1、 安裝依賴包yum -y install gcc libcap libcap-devel glibc-devel
2、 升級openssl
tar zxvf /tmp/openssl-1.0.2l.tar.gz -C /tmp
cd /tmp/openssl-1.0.2l
./config --prefix=/usr –shared
備注:(一定記得加上--shared選項, 否則openssh編譯的時候會找不到新安裝的openssl的library, 會報錯: openssl的 header和library版本不匹配。)
make
make install
3、升級openssh
tar zxf /tmp/openssh-7.5p1.tar.gz -C /tmp
cd /tmp/openssh-7.5p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords
make
make install
echo "PermitRootLogin no" >>/etc/ssh/sshd_config
service sshd restart
4、驗證
[root@localhost ~]# ssh -V
OpenSSH_7.5p1, OpenSSL 1.0.2l 29 May 2019
備注:
另外,安裝目錄為/usr/,因為在啟動文件中有關于SSHD的路徑,此安裝目錄默認為redhat啟動文件的路徑
可在配置文件/etc/ssh/sshd_config中修改
三、加固
修改hosts.all和hosts.deny
以ssh允許192.168.220.1和telnet允許192.168.220網段為例,具體在/etc/hosts.allow加入內容如下:
編輯/etc/hosts.deny文件
保存文件退出編緝后,重啟ssh服務和telnet服務(可選)
備注:
1.一個IP訪問請求連入,linux的檢查策略是先看/etc/hosts.allow中是否允許,如果允許直接放行;如果沒有,則再看/etc/hosts.deny中是否禁止,如果禁止那么就禁止連入。
2.對/etc/hosts.allow和/etc/hosts.deny的配置不用重啟就立即生效,但不管重啟不重啟當前已有會話都不會受影響;也就是說對之前已經連入的,即便IP已配置為禁止登錄會話仍不會強制斷開。不過不知是否所有linux都一樣,由此第四步標為可選。
3.網上發現有些教程寫成不是sshd而是in.sshd不是in.telnetd而是telnetd的,個人覺得應該是獨立啟的不用加in.托管于xinetd的需要加in.
四、其他
1、如果升級中發生意外中斷的,可以開telnet備用
啟用
sed -i "s/yes/no/g" /etc/xinetd.d/telnet
service xinetd restart
mv /etc/securetty /etc/securettyBAK
停用
sed -i "s/no/yes/g" /etc/xinetd.d/telnet
service xinetd stop
mv /etc/securettyBAK /etc/securetty
2、升級后對ssh配置的加固
echo "PermitRootLogin no" >>/etc/ssh/sshd_config
找到#Port 22一段,這里是標識默認使用22端口,可修改為其他端口
echo "Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc" >>/etc/ssh/sshd_config
service sshd restart
3、升級成功后輸入密碼無法登錄系統的
原因分析:
1、未對配置文件進行修改,openssh7.5默認配置不允許使用root登錄系統
2、pam配置文件錯誤或丟失
3、配置文件中未啟用pam選項:UsePAM
看完上述內容,你們掌握redhat linux6.5如何升級openssh到7.5p1的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。