欢迎大家来到IT世界,在知识的湖畔探索吧!
1、查看当前服务器ssh版本相关信息
[root@k8s-master ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
[root@k8s-master ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
欢迎大家来到IT世界,在知识的湖畔探索吧!
2、首先机器联网安装升级相关依赖包
欢迎大家来到IT世界,在知识的湖畔探索吧![root@k8s-master ~]# yum -y install wget gcc zlib-devel openssl-devel pam-devel libselinux-devel
3、升级OPENSSL
3.1、备份旧版openssl
[root@k8s-master ~]# mv /usr/bin/openssl{,.bak}
[root@k8s-master ~]# mv /usr/include/openssl{,.bak}
3.2、下载openssl-1.1.1k包,解压并编译安装
openssl-1.1.1k.tar.gz下载地址:https://www.openssl.org/source/openssl-1.1.1k.tar.gz
欢迎大家来到IT世界,在知识的湖畔探索吧![root@k8s-master ~]# wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
[root@k8s-master ~]# tar zxf openssl-1.1.1k.tar.gz -C /usr/local/
[root@k8s-master ~]# cd /usr/local/openssl-1.1.1k/
[root@k8s-master openssl-1.1.1k]# ./config --prefix=/usr/local/openssl
[root@k8s-master openssl-1.1.1k]# make -j 2 && make install
3.3、创建相应的软链接及版本验证
[root@k8s-master openssl-1.1.1k]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
[root@k8s-master openssl-1.1.1k]# ln -s /usr/local/openssl/include/openssl /usr/include/openssl
[root@k8s-master openssl-1.1.1k]# echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
[root@k8s-master openssl-1.1.1k]# ldconfig -v
[root@k8s-master openssl-1.1.1k]# openssl version
OpenSSL 1.1.1k 25 Mar 2021
4、关键步骤:升级OPENSSH
4.1、停止原有服务并备份相关文件
升级过程建议开启telnet,开放telnet相关端口,以便在升级失败时,通过telnet来操作版本回滚
[root@k8s-master ~]# systemctl stop sshd
[root@k8s-master ~]# mv /etc/ssh{,.bak}
[root@k8s-master ~]# mv /etc/pam.d/sshd{,.bak}
4.2、卸载旧版本openssh包
强烈建议通过网络找到openssh的rpm包,以避免升级失败时,找不到相应的安装包
[root@k8s-master ~]# rpm -e --nodeps `rpm -qa | grep openssh`
4.3、下载openssh8.6p1并解压安装包
openssh-8.6p1.tar.gz下载地址:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz
[root@k8s-master ~]# wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz
[root@k8s-master ~]# tar zxf openssh-8.6p1.tar.gz
[root@k8s-master ~]# cd openssh-8.6p1
4.4、安装升级
[root@k8s-master openssh-8.6p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssl-dir=/usr/local/openssl --without-hardening
[root@k8s-master openssh-8.6p1]# make -j 2 && make install
4.5、拷贝配置ssh相关文件并启动服务
[root@k8s-master openssh-8.6p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd
[root@k8s-master openssh-8.6p1]# mv /etc/pam.d/sshd.bak /etc/pam.d/sshd
[root@k8s-master openssh-8.6p1]# mv /etc/ssh /etc/ssh_update.bak
[root@k8s-master openssh-8.6p1]# mv /etc/ssh.bak /etc/ssh
[root@k8s-master openssh-8.6p1]# chmod 600 /etc/ssh/*key
[root@k8s-master openssh-8.6p1]# chkconfig --add sshd
[root@k8s-master openssh-8.6p1]# chkconfig sshd on
[root@k8s-master openssh-8.6p1]# systemctl restart sshd
4.6、修改配置文件允许Root登陆与版本验证
[root@k8s-master ~]# sed -i 's/^#\(PermitRootLogin \).*/\1yes/' /etc/ssh/sshd_config
[root@k8s-master openssh-8.6p1]# ssh -V
OpenSSH_8.6p1, OpenSSL 1.1.1k 25 Mar 2021
有可能遇到的问题及相应的解决办法
问题:
Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.
解决:
[root@k8s-master ~]# grep sshd /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/48388.html