openssl
# openssl version -a
openssh
# ssh -V
要准備的包
openssl-1.0.2s.tar.gz
openssh-8.0p1.tar.gz
pam-1.1.8-22.el7.x86_64.rpm
pam-devel-1.1.8-22.el7.x86_64.rpm
zlib-1.2.7-17.el7.x86_64.rpm
zlib-devel-1.2.7-17.el7.x86_64.rpm
telnet-0.17-64.el7.x86_64.rpm
telnet-server-0.17-64.el7.x86_64.rpm
openssl-1.0.2k-12.el7.x86_64.rpm
xinetd-2.3.15-13.el7.x86_64.rpm
如果是離線升級在安裝gcc時候會遇到很多安裝包,建議能開網就開網,不然就缺啥補啥
安裝:
先看看有沒有pam
rpm -qa |grep pam
沒有就安裝
#rpm -Uvh pam-1.1.8-22.el7.x86_64.rpm
#rpm -Uvh pam-devel-1.1.8-22.el7.x86_64.rpm
以次繼續
#rpm -Uvh xinetd-2.3.15-13.el7.x86_64.rpm
#rpm -Uvh zlib-1.2.7-18.el7.x86_64.rpm
#rpm -Uvh zlib-devel-1.2.7-18.el7.x86_64.rpm
一般都開telnet,但是我膽子比較大,就不用了,想了解的可以去其他博客
https://blog.csdn.net/paincupid/article/details/90813554
https://jingyan.baidu.com/album/08b6a5916ecc5214a9092244.html?picindex=1
咱們繼續
#rpm -Uvh xinetd-2.3.15-13.el7.x86_64.rpm
開啟xinetd
#systemctl start xinetd
#systemctl status xinetd
#systemctl enable xinetd
關閉selinux
這一步影響我很久,這很關鍵
#vim /etc/selinux/config
將selinux設置為disable
SELINUX=disabled
這一步之后一定要重啟reboot,不然安裝后也登不上去
關閉防火牆
#systemctl status iptables
#systemctl stop iptables
升級OpenSSL
確保先有編譯環境gcc,gcc-c++
先確保你的服務器上已經有gcc,gcc-c++。這兩個是編譯工具。
#rpm -qa | grep gcc
若沒有安裝,則執行安裝,這里我已經下載了gcc,gcc-c++的包。
我是受不了一個一個安裝
#yum install gcc gcc-c++(有網就是爽)
查看已安裝
#rpm -qa | grep openssl
解壓openssl安裝包
#tar zxvf openssl-1.0.2s
卸載這些包
#for i in $(rpm -qa |grep openssl);do rpm -e $i --nodeps ;done
進入openssl-1.0.2s目錄
#cd openssl-1.0.2s
#./config shared
#make && make install
到這 其實就安裝完了,下面的命令要走一遍,不成功也要走一波
#echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
#ldconfig
#cp /usr/local/ssl/lib/libssl.so.1.0.0 /usr/lib64
#cp /usr/local/ssl/lib/libcrypto.so.1.0.0 /usr/lib64
#ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10
#ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so
#ln -s /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so.10
#ln -s /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so
#ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
#ln -s /usr/local/ssl/include/openssl /usr/include/openssl
#openssl version -a
還沒完,下面說一下openssh
#tar xvf openssh-8.0p1.tar.gz
#cd openssh-8.0p1
卸載原openssh
#rpm -qa | grep openssh
#for i in $(rpm -qa |grep openssh);do rpm -e $i --nodeps ;done
#./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords--with-pam --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening
刪除原ssh配置目錄
#rm -rf /etc/ssh
安裝
#make && make install
安裝完成,執行配置
#cp ./contrib/redhat/sshd.init /etc/init.d/sshd
#chkconfig --add sshd
#chkconfig sshd on
#chkconfig --list|grep sshd
查看版本
#ssh -V
如果升級完,別關當前窗口,新建會話,要是上不去就是下面的問題
PermitRootLogin yes
和
vim /etc/init.d/sshd在‘$SSHD $OPTIONS && success || failure’這一行上面加上 OPTIONS="-f /etc/ssh/sshd_config"
照做並無效果(第一個確實要這么設置,第二個無必要)
后來看到了一篇文章提到關閉selinux,檢查一台之前升級過openssh卻可以連上的服務器,發現他的selinux確實是關閉的,而連不上的這台服務器是開着的,關閉之果然可以連接上。
