Centos6系列升級(jí)openssh教程
零、虛機(jī)建議更新前做個(gè)快照,本文檔基于centos6.9制作涮阔,請(qǐng)根據(jù)實(shí)際操作系統(tǒng)下載對(duì)應(yīng)iso鏡像操作
一、安裝編譯所需的工具包
創(chuàng)建本地yum源(內(nèi)網(wǎng)環(huán)境不能連接外網(wǎng)灰殴,一個(gè)個(gè)的安裝依賴(lài)包過(guò)于復(fù)雜,有外網(wǎng)環(huán)境直接yum install gcc pam-devel zlib-devel openssl-devel
即可敬特,然后直接到第二步)
1、創(chuàng)建本地yum目錄
2牺陶、查看系統(tǒng)版本信息
# cat /etc/issue
3伟阔、掛載系統(tǒng)iso鏡像
# mount /dev/cdrom /tmp/update/
# ls /tmp/update # 如下圖所示 說(shuō)明掛載成功
4配置yum
# cd /etc/yum.repos.d
# mkdir bak
# mv *.repo bak/
# cp ./CentOS-Media.repo .
# ls
# vi CentOS-Media.repo 改成如下圖所示的配置
清除下yum緩存
查看yum倉(cāng)庫(kù)列表
到此,本地yum源已完成掰伸,通過(guò)yum升級(jí)openssh所需的依賴(lài)包即可
# yum install gcc pam-devel zlib-devel openssl-devel(手工安裝需要的依賴(lài)包較多皱炉,建議使用yum方式安裝)
二、安裝telnet
# yum -y install telnet-server*
或者下載以下兩個(gè)包手動(dòng)安裝
xinetd-2.3.14-40.el6.x86_64.rpm
telnet-server-0.17-48.el6.x86_64.rpm
啟動(dòng)Telnet服務(wù)
# vi /etc/xinetd.d/telnet
將其中disable字段的yes改為no以啟用telnet服務(wù)
mv /etc/securetty /etc/securetty.bak #允許root用戶(hù)通過(guò)telnet登錄
# service xinetd start #啟動(dòng)telnet服務(wù)
# chkconfig xinetd on #使telnet服務(wù)開(kāi)機(jī)啟動(dòng)狮鸭,避免升級(jí)過(guò)程中服務(wù)器意外重啟后無(wú)法遠(yuǎn)程登錄系統(tǒng)
發(fā)現(xiàn)無(wú)法連接的話(huà)合搅,請(qǐng)關(guān)閉防火墻
# servcie iptables stop
# chkconfig iptables off
接下來(lái)將要更新的openssh安裝包c(diǎn)opy到服務(wù)器上
到此前提條件準(zhǔn)備完畢
三、升級(jí)openssh
1.備份當(dāng)前openssh
# mv /etc/ssh /etc/ssh.bak
# mv /etc/init.d/sshd /etc/init.d/sshd.abk
2.卸載當(dāng)前openssh
# rpm -e –nodeps openssh-xxx(使用這條命令逐個(gè)卸載)
根據(jù)已安裝的包名稱(chēng)來(lái)卸載即可
注意:rpm -e --nodeps openssh-server-5.3p1-122.el6.x86_64 會(huì)出現(xiàn):
error reading information on service sshd: No such file or directory
error: %preun(openssh-server-5.3p1-122.el6.x86_64) scriptlet failed, exit status 1
解決方法:
# rpm -e --noscripts openssh-server-5.3p1-122.el6.x86_64
3.解壓openssh_7.5p1源碼并編譯安裝
# tar -zxvf openssh-7.5p1.tar.gz
# cd openssh-7.5p1
# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-openssl-includes=/usr --with-privsep-path=/var/lib/sshd
# make
此處執(zhí)行編譯時(shí)可能報(bào)error怕篷,請(qǐng)檢查之前是否成功安裝了pam-devel zlib-devel openssl-devel
解決完錯(cuò)誤繼續(xù)下一步:
# make install
四历筝、openssh安裝后環(huán)境配置
1.在openssh編譯目錄執(zhí)行如下命令
# install -v -m755 contrib/ssh-copy-id /usr/bin
# install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1
# install -v -m755 -d /usr/share/doc/openssh-7.5p1
# install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-7.5p1
- 驗(yàn)證是否升級(jí)成功
# ssh -V
3.啟用OpenSSH服務(wù)
在openssh編譯目錄執(zhí)行如下目錄
# echo 'X11Forwarding yes' >> /etc/ssh/sshd_config
# echo "PermitRootLogin yes" >> /etc/ssh/sshd_config #允許root用戶(hù)通過(guò)ssh登錄
# cp -p contrib/redhat/sshd.init /etc/init.d/sshd
# chmod +x /etc/init.d/sshd
# chkconfig --add sshd
# chkconfig sshd on
# chkconfig --list sshd
# service sshd restart
4.此刻記得關(guān)閉selinux,否則重啟后無(wú)法正常連接ssh,
關(guān)閉方法:
臨時(shí)關(guān)閉:# setenforce 0
永久關(guān)閉:# vim /etc/selinux/config
將SELINUX=enforcing改為SELINUX=disabled,保存后退出
4.重啟:
# reboot
五廊谓、重啟系統(tǒng)驗(yàn)證openssh沒(méi)問(wèn)題后關(guān)閉telnet服務(wù)
# mv /etc/securetty.bak /etc/securetty
# chkconfig xinetd off
# service xinetd stop
如需還原之前的ssh配置信息梳猪,可直接刪除升級(jí)后的配置信息,恢復(fù)備份蒸痹。
# rm -rf /etc/ssh
# mv /etc/ssh.bak /etc/ssh
參考資料:http://blog.51cto.com/hnr520/1923012
文章同時(shí)也會(huì)在我的博客 0ne0ne.com同步更新春弥。