1.系統(tǒng)環(huán)境
2.記錄過程
1:找一臺(tái)沒有系統(tǒng)的機(jī)器 操作一遍虎韵。記錄過程且改,
2:系統(tǒng)機(jī)器打補(bǔ)丁之前,最好 備份 系統(tǒng)和數(shù)據(jù)庫到 移動(dòng)硬盤虐拓。?
3:開始打補(bǔ)丁過程
打補(bǔ)丁過程
步驟一:先安裝telnet?伊诵,防止 打補(bǔ)丁失敗单绑。
下載 : telnet-server-0.17-48.el6.x86_64.rpm ? ? ?telnet-0.17-48.el6.x86_64.rpm ? ?
下載地址:http://vault.centos.org/6.3/os/x86_64/packages ? ? ?
步驟二:備份原有的openssh
步驟三:安裝openssh的依賴(zlib,openssl)
zlib-1.2.11.tar.gz??
官方下載地址: http://www.zlib.net/
https://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz?
openssl-1.0.2o.tar.gz??
官方下載地址:https://github.com/openssl/openssl/releases
?[https://www.openssl.org/source/](https://www.openssl.org/source/)
wget https://github.com/openssl/openssl/archive/OpenSSL_1_0_2q.tar.gz
openssh-7.7p1.tar.gz???
官方下載地址:?https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/
步驟四:make安裝
3.安裝
3.1 telnet安裝過程
下載地址 :http://vault.centos.org/6.3/os/x86_64/Packages/ ? ?#6.3表示系統(tǒng)版本號(hào)
telnet-server-0.17-48.el6.x86_64.rpm
telnet-0.17-48.el6.x86_64.rpm
xinetd-2.3.14-39.el6_4.x86_64.rpm
執(zhí)行如下:
查看telnet server是否安裝
rpm -qa | grep telnet
步驟一:rpm -ivh telnet-0.17-48.el6.x86_64.rpm
步驟二:rpm -ivh xinetd-2.3.14-39.el6_4.x86_64.rpm
步驟三:rpm -ivh telnet-server-0.17-48.el6.x86_64.rpm
步驟四:service xinetd start
步驟五:netstat -tnl |grep 23?(如果無輸出說明未正常啟動(dòng)曹宴,則步驟六搂橙;否則整個(gè)安裝過程完成
步驟六:修改/etc/xinetd.d/telnet?文件,將disable=yes修改為disable=no
步驟七:service xinetd restart
步驟八:查看telnet server是否安裝
rpm -qa | grep telnet
步驟九笛坦,開啟外網(wǎng)訪問端口
Linux?開啟允許外網(wǎng)訪問端口
LINUX通過下面的命令可以開啟允許對(duì)外訪問的網(wǎng)絡(luò)端口:
/sbin/iptables -I INPUT -p tcp --dport 23 -j ACCEPT #開啟23端口
/etc/rc.d/init.d/iptables save #保存配置
/etc/rc.d/init.d/iptables restart #重啟服務(wù)
查看端口是否已經(jīng)開放
/etc/init.d/iptables status
telnet 127.0.0.1?能正常登錄即成功
3.2 openssl安裝過程
官方升級(jí)文檔:http://www.linuxfromscratch.org/blfs/view/cvs/postlfs/openssl.html
?A区转、備份當(dāng)前openssl
find/ -name openssl
/usr/lib64/openssl
/usr/bin/openssl
/etc/pki/ca-trust/extracted/openssl
mv?/usr/lib64/openssl /usr/lib64/openssl.old
mv?/usr/bin/openssl?/usr/bin/openssl.old
mv?/etc/pki/ca-trust/extracted/openssl?/etc/pki/ca-trust/extracted/openssl.old
?如下兩個(gè)庫文件必須先備份,因系統(tǒng)內(nèi)部分工具(如yum版扩、wget等)依賴此庫废离,而新版OpenSSL不包含這兩個(gè)庫
cp ?/usr/lib64/libcrypto.so.10 ?/usr/lib64/libcrypto.so.10.old
cp ?/usr/lib64/libssl.so.10 ?/usr/lib64/libssl.so.10.old
?B、卸載當(dāng)前openssl
rpm -qa | grepopenssl
openssl-1.0.1e-42.el6.x86_64
rpm -e --nodeps openssl-1.0.1e-42.el6.x86_64
rpm -qa | grepopenssl
C礁芦、解壓openssl_1.0.2k源碼并編譯安裝
tar-zxvf openssl-1.0.2q.tar.gz
cdcd openssl-OpenSSL_1_0_2q
./config --prefix=/usr --openssldir=/etc/ssl --shared zlib?#必須加上--shared蜻韭,否則編譯時(shí)會(huì)找不到新安裝的openssl的庫而報(bào)錯(cuò)
make
maketest?#必須執(zhí)行這一步結(jié)果為pass才能繼續(xù),否則即使安裝完成柿扣,ssh也無法使用
make install
opensslversion -a??????????????????#查看是否升級(jí)成功
D肖方、恢復(fù)共享庫
?由于OpenSSL_1.0.2k不提供libcrypto.so.10和libssl.so.10這兩個(gè)庫,而yum未状、wget等工具又依賴此庫俯画,因此需要將先前備份的這兩個(gè)庫進(jìn)行恢復(fù),其他的可視情況考慮是否恢復(fù)司草。
mv? /usr/lib64/libcrypto.so.10.old? /usr/lib64/libcrypto.so.10
mv?/usr/lib64/libssl.so.10.old?/usr/lib64/libssl.so.10
3.3 zlib安裝過程
?A艰垂、解壓zlib_1.2.11源碼并編譯
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr
make
B、卸載當(dāng)前zlib
A 注意:此步驟必須在步驟A執(zhí)行完畢后再執(zhí)行翻伺,否則先卸載zlib后,/lib64/目錄下的zlib相關(guān)庫文件會(huì)被刪除沮焕,步驟A編譯zlib會(huì)失敗吨岭。(補(bǔ)救措施:從其他相同系統(tǒng)的服務(wù)器上復(fù)制/lib64、/usr/lib和/usr/lib64目錄下的libcrypto.so.10峦树、libssl.so.10辣辫、libz.so.1旦事、libz.so.1.2.3四個(gè)文件到相應(yīng)目錄即可〖泵穑可通過whereis姐浮、locate或find命令找到這些文件的位置)
rpm-e --nodeps zlib
?C、安裝之前編譯好的zlib
在zlib編譯目錄執(zhí)行如下命令
make install
D葬馋、共享庫注冊(cè)
?zlib安裝完成后卖鲤,會(huì)在/usr/lib目錄中生產(chǎn)zlib相關(guān)庫文件,需要將這些共享庫文件注冊(cè)到系統(tǒng)中畴嘶。
echo '/usr/lib' >> /etc/ld.so.conf
ldconfig??????????????????? #更新共享庫cache
或者采用如下方式也可:
ln-s? /usr/lib/libz.so.1 libz.so.1.2.11
ln-s? /usr/lib/libz.so libz.so.1.2.11
ln-s? /usr/lib/libz.so.1 /lib/libz.so.1
ldconfig
3.4 Pam-devel安裝過程
查看pam版本
rpm –qa | grep pam
出現(xiàn):configure: error: PAM headers not found?錯(cuò)誤蛋逾,需要安裝pam-devel的rpm包
wget?http://vault.centos.org/6.5/os/x86_64/Packages/pam-devel-1.1.1-17.el6.x86_64.rpm
rpm?-ivh pam-devel-1.1.1-17.el6.x86_64.rpm --test
rpm?-ivh pam-devel-1.1.1-17.el6.x86_64.rpm
3.5 openssh安裝過程
https://www.cnblogs.com/xshrim/p/6472679.html
查看系統(tǒng)當(dāng)前軟件版本
#?rpm-q zlib
#?opensslversion
#?ssh-V
升級(jí)OpenSSH
官方升級(jí)文檔:http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssh.html
備份當(dāng)前openssh
# mv /etc/ssh /etc/ssh.old
卸載當(dāng)前openssh
# rpm -qa | grep openssh
openssh-clients-5.3p1-111.el6.x86_64
openssh-server-5.3p1-111.el6.x86_64
openssh-5.3p1-111.el6.x86_64
openssh-askpass-5.3p1-111.el6.x86_64
執(zhí)行以下命令
rpm -e --nodeps openssh-5.3p1-94.el6.x86_64
?rpm -e --nodeps openssh-server-5.3p1-94.el6.x86_64
?rpm -e --nodeps openssh-clients-5.3p1-94.el6.x86_64
?rpm -e --nodeps openssh-askpass-5.3p1-94.el6.x86_64
?rpm -qa | grep openssh
執(zhí)行以下命令
tar -zxvf openssh-7.7p1.tar.gz
cd openssh-7.7p1
./configure --prefix=/usr?--sysconfdir=/etc/ssh?--with-md5-passwords?--with-pam?--with-zlib --with-openssl-includes=/usr --with-privsep-path=/var/lib/sshd
make
make install
openssh安裝后環(huán)境配置
# 在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.7p1
# install-v -m644??? INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-7.7p1
#
ssh-V????????????? #驗(yàn)證是否升級(jí)成功
啟用OpenSSH服務(wù)
# 在openssh編譯目錄執(zhí)行如下目錄
#echo 'X11Forwarding yes' >> /etc/ssh/sshd_config
# echo "PermitRootLogin yes" >> /etc/ssh/sshd_config?? #允許root用戶通過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
# servicesshd restart
注意:如果升級(jí)操作一直是在ssh遠(yuǎn)程會(huì)話中進(jìn)行的,上述sshd服務(wù)重啟命令可能導(dǎo)致會(huì)話斷開并無法使用ssh再行登入(即ssh未能成功重啟)窗悯,此時(shí)需要通過telnet登入再執(zhí)行sshd服務(wù)重啟命令区匣。
openssh善后工作
?新開啟遠(yuǎn)程終端以ssh [ip]登錄系統(tǒng),確認(rèn)一切正常升級(jí)成功后蒋院,只需關(guān)閉telnet服務(wù)以保證系統(tǒng)安全性即可亏钩。
# mv/etc/securetty.old /etc/securetty
# chkconfig? xinetd off
# servicexinetd stop
?如有必要,可重新開啟防火墻