離線升級openssl、openssh


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確實是關閉的,而連不上的這台服務器是開着的,關閉之果然可以連接上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM