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确实是关闭的,而连不上的这台服务器是开着的,关闭之果然可以连接上。