Centos7下rpm升級openssh-6.6到openssh-8.3版本
阿新 • • 發佈:2020-12-19
技術標籤:linux
openssh升級
openssh6.6升級到openssh8.3
因為某些不可描述的原因,公司需要給openssh升級,再檢視伺服器的openssh版本時,發現某個伺服器居然是6.6的,些許頭疼
由於openssh的一個漏洞,不得不對openssh進行升級,雖然升級之後還有一些別的問題… 無傷大雅
檢查一下環境:
[[email protected]192.168.30.1]# ssh -V
OpenSSH_6.6p1, OpenSSL 1.0.2k
RPM安裝方法:
1.提前準備好8.3rpm包
https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/2.檢視當前系統版本
[[email protected]192.168.30.1 ]# rpm -qa | grep openssh
openssh-server-6.6p1-1.el7.centos.x86_64
openssh-6.6p1-1.el7.centos.x86_64
openssh-clients-6.6p1-1.el7.centos.x86_64
安裝8.3版本
- [[email protected]192.168.30.1 ]# cd /opt/
[[email protected]192.168.30.1 ]# tar -xf openssh- 8.3p1.tgz
[[email protected]192.168.30.1 ]# yum localinstall *.rpm
[[email protected]192.168.30.1 ]# rpm -qa | grep openssh
openssh-server-8.3p1-1.el7.centos.x86_64
openssh-8.3p1-1.el7.centos.x86_64
openssh-clients-8.3p1-1.el7.centos.x86_64
openssh-debuginfo-8.3p1- 1.el7.centos.x86_64
openssh-askpass-gnome-8.3p1-1.el7.centos.x86_64
openssh-askpass-8.3p1-1.el7.centos.x86_64
[[email protected]192.168.30.1 ]# chmod 400 /etc/ssh/ssh_*_key
[[email protected]192.168.30.1 ]# vim /etc/ssh/sshd.config
##去掉開頭註釋,並改為yes
PermitRootLogin yes
PasswordAuthentication yes
UsePAM yes
在這裡修改完後其實已經可以重啟sshd服務了,但是當我重啟服務時,並不好用,服務起不來,我去查看了一下sshd的啟動檔案,發現了一點小問題,
$OPTIONS 全文只有這一個,並沒有指定OPTIONS是什麼,翻閱資料後,加入一行OPTIONS
OPTIONS="-f /etc/ssh/sshd_config"
即:
UsePAM所帶來的問題
由於我們開啟了UsePAM,所以需要去檢視一下 /etc/pam.d/sshd 這個檔案
這個檔案在升級時,會被覆蓋掉,建議提前備份一下。
嘗試過關閉UsePAM,發現並不太行,關掉之後不讓ssh登入
升級之後未作更改時長成這樣:
[[email protected]192.168.30.1 ]#vim /etc/pam.d/sshd
對比一下以前的版本就會發現這個配置檔案此時是少了很多東西的
(這裡提供一個可以使用的配置檔案,先清空或者備份再還原)
[[email protected]192.168.30.1 ]# cat /etc/pam.d/sshd/
#%PAM-1.0
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
#Used with polkit to reauthorize users in remote sessions
-auth optional pam_reauthorize.so prepare
account required pam_nologin.so
account include password-auth
password include password-auth
#pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
#pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include password-auth
session include postlogin
#Used with polkit to reauthorize users in remote sessions
-session optional pam_reauthorize.so prepare
[[email protected]192.168.30.1 ]# systemctl restart sshd
好吧,確實少的東西有點多,我們還原這個檔案。
修改完畢之後注意再次檢查一下/etc/ssh/sshd.config這個配置檔案
確認UsePAM yes 是開啟狀態至此升級完成,
先彆著急關閉終端,新開一個終端測試,測試ssh連線到修改後的終端是否可用。
提個建議 ,在檢視別的部落格時發現有受到selinux影響的 建議關閉selinux永久關閉:
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
臨時關閉:
setenforce 0