centos6系列升級(jí)openssh爬坑記錄

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è)的安裝依賴包過(guò)于復(fù)雜,有外網(wǎng)環(huán)境直接yum install gcc pam-devel zlib-devel openssl-devel即可,然后直接到第二步)

1、創(chuàng)建本地yum目錄


image.png

2、查看系統(tǒng)版本信息

# cat /etc/issue

image.png

3、掛載系統(tǒng)iso鏡像

# mount /dev/cdrom /tmp/update/

image.png

# ls /tmp/update # 如下圖所示 說(shuō)明掛載成功

image.png

4配置yum

# cd /etc/yum.repos.d

# mkdir bak

# mv *.repo bak/

# cp ./CentOS-Media.repo .

# ls
image.png

# vi CentOS-Media.repo 改成如下圖所示的配置

image.png

清除下yum緩存

image.png

查看yum倉(cāng)庫(kù)列表

image.png

到此,本地yum源已完成,通過(guò)yum升級(jí)openssh所需的依賴包即可

# yum install gcc pam-devel zlib-devel openssl-devel(手工安裝需要的依賴包較多,建議使用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

image.png
image.png

啟動(dòng)Telnet服務(wù)

# vi /etc/xinetd.d/telnet

image.png

將其中disable字段的yes改為no以啟用telnet服務(wù)

mv /etc/securetty /etc/securetty.bak    #允許root用戶通過(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)
image.png

發(fā)現(xiàn)無(wú)法連接的話,請(qǐng)關(guān)閉防火墻

# servcie iptables stop 

# chkconfig iptables off 
image.png

接下來(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

image.png

# rpm -e –nodeps openssh-xxx(使用這條命令逐個(gè)卸載)

根據(jù)已安裝的包名稱來(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
  1. 驗(yàn)證是否升級(jí)成功

# ssh -V

image.png

3.啟用OpenSSH服務(wù)

在openssh編譯目錄執(zhí)行如下目錄
# echo 'X11Forwarding yes' >> /etc/ssh/sshd_config
# echo "PermitRootLogin yes" >> /etc/ssh/sshd_config   #允許root用戶通過(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同步更新。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容