centos7 升級openssh7.5 操作

前段時間因爲要修復openssh的漏洞,官方說法是升級openssh,所以就選擇了升級到 openssh-7.5p1 ,升級openssh連帶要升級openssl。


漏洞信息:

Openssh MaxAuthTries限制繞過漏洞(CVE-2015-5600)

OpenSSH 遠程權限提升漏洞(CVE-2016-10010)


操作系統:

CentOS-7-x86_64-Minimal-1611


軟件包:

openssh-7.5p1.tar.gz

openssl-1.0.2l.tar.gz

(openssl不可以選用1.1.X 版本,否則openssh編譯時會報錯)

關閉selinux

vim /etc/sysconfig/selinux
修改 SELINUX=disabled


一、升級之前最好先把telnet開起來,防止意外導致ssh無法連接

yum install -y telnet-server
yum install -y xinetd 

systemctl enable xinetd.service
systemctl enable telnet.socket
systemctl start telnet.socket
systemctl start xinetd

默認情況下,系統是不允許root用戶telnet遠程登錄的。如果要使用root用戶直接登錄,需設置如下內容:

echo  'pts/0'  >>/etc/securetty
echo 'pts/1' >>/etc/securetty

service  xinetd  restart ####重啓服務


驗證登錄:

cmd:


如下圖示,登錄成功。



二、升級openssl

升級前的版本


上傳程序包到服務器

安裝依賴包:

yum -y install pam-devel.x86_64 zlib-devel.x86_64

卸載舊版程序:

rpm -e --nodeps `rpm -qa|grep openss`


解壓縮:

tar -zxvf openssl-1.0.2l.tar.gz

進入解壓路徑:

cd openssl-1.0.2l

編譯安裝:

./config --prefix=/usr --shared && make && make install

創建軟鏈接:

ln -s /usr/lib64/libcrypto.so.1.0.0  /usr/lib64/libcrypto.so.10

ln -s /usr/lib64/libssl.so.1.0.0  /usr/lib64/libssl.so.10

驗證版本信息:

openssl version -a


openssl升級完成。


三、升級openssh

備份舊ssh配置文件 /etc/ssh :
mv /etc/ssh/ /home/ssh-bak

解壓:
tar -zxvf openssh-7.5p1.tar.gz
進入解壓路徑:
cd openssh-7.5p1
編譯安裝:
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords

make && make install

複製pam的頭文件:
cp contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
(這裏的pam其實是沒有啓用的,所以這一步可以省略,在sshd_config中如果開啓pam會出現無法連接的情況,這個問題有待研究

複製啓動腳本:
cp contrib/redhat/sshd.init /etc/init.d/sshd
設置開機啓動:
chkconfig sshd on

編輯ssh配置文件:
vim /etc/ssh/sshd_config

取消註釋 PasswordAuthentication yes

驗證版本信息: 
ssh -V


重啓ssh服務
service sshd restart
會發現連接不上,這個問題是selinux修改要生效需要重啓機器

重啓機器後連接成功
升級完成


發佈了18 篇原創文章 · 獲贊 46 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章