ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

redhat 7.4从openssh7.6离线升级openssh8.4p1解决方法

2020-11-05 11:03:21  阅读:278  来源: 互联网

标签:sshd p1 openssh 离线 etc ssh 7.4 local usr


具体需求

       这几天生产环境服务器又进行了安全扫描,每次都会报一下漏洞错误。虽然只有一个高危问题,但是每次看到ssh远程漏洞都很烧脑 “主要是里面坑太多了”,闲话就不说了,今天我们来看看从redhat7.4 的openssh7.4、7.6、8.1离线网的环境中升级到openssh8.4p1吧!!

 漏洞以及环境问题

 OpenSSH 命令注入漏洞(CVE-2020-15778) 报的远程漏洞问题,因为Linux服务器都在公司内部,不能连接公网。

 需要注意

为了防止升级失败,可以在升级之前安装telnet服务,通过Telnet连接服务器进行升级。如果大家觉得麻烦或者冒险一下安装telnet这步骤可以省略。

1、安装telnet,防止ssh升级失败导致链接失败
rpm -ivh telnet-server-0.17-64.el7.x86_64.rpm
rpm -ivh telnet-0.17-64.el7.x86_64.rpm

下载地址:telnet-server-0.17-64.el7.x86_64、telnet-0.17-64.el7.x86_64、xinetd-2.3.15-14.el7.x86_64
2、在防火墙上开放telnet端口
firewall-cmd --zone=public --add-port=23/tcp --permanent
----加载配置生效
firewall-cmd --reload
—加入自启动
chkconfig telnet on
systemctl enable telnet.socket
systemctl start telnet.socket
----默认不允许root连接,所以新增了账号
useradd atest
passwd atest

下载依赖openssl、zlib、openssh

下载安装文件:openssh8.4需要的 openssl-1.1.1g, openssh-8.4p1,zlib-1.2.11

解压升级包

 


tar -zxvf Zlib-1.2.11.tar.gz
tar -zxvf openssh-8.4p1.tar.gz
tar -zxvf Openssl-1.1.1g.tar.gz

 

编译安装zlib

 

cd zlib-1.2.11
./configure --prefix=/usr/local/zlib
make && make install

 

编译安装openssl

cd openssl-1.1.1g
./config --prefix=/usr/local/ssl -d shared
make && make install
echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
ldconfig -v

 

 

安装openssh

 

1  cd openssh-8.4p1
2 ./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
3 make && make install
 sshd_config文件修改
5 echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
6 echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
7 echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config

 

备份原有文件,并将新的配置复制到指定目录

 

 1 mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
 2 cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
 3 mv /usr/sbin/sshd /usr/sbin/sshd.bak
 4 cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
 5 mv /usr/bin/ssh /usr/bin/ssh.bak
 6 cp /usr/local/openssh/bin/ssh /usr/bin/ssh
 7 mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
 8 cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
 9 mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
10 cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

 启动sshd

systemctl restart sshd.service
[root@localhost ~]# ssh -V OpenSSH_8.4p1, OpenSSL 1.1.1g 21 Apr 2020

 报错问题以及解决方案

  如果sshd服务器无法启动,可以试试以下方法:

  先停掉sshd服务,将systemctl原服务器删除,使用安装包里自带的sshd.init,复制到/etc/init.d/sshd,重启即可

 

systemctl stop sshd.service
rm -rf /lib/systemd/system/sshd.service 
systemctl daemon-reload
cp /opt/openssh8.4/openssh-8.4p1/contrib/redhat/sshd.init /etc/init.d/sshd
/etc/init.d/sshd restart
systemctl status sshd
systemctl daemon-reload

 

 以上文件存放路径我放到根目录 /opt/下面了,可以按你自己解压文件路径即可。

添加开机启动

chkconfig --add sshd

chkconfig --list sshd

 

最后上一张图查看ssh启动状态

systemctl status sshd

 

这一步ssh服务器已安装完成。

如果遇到xshell 和SecureCRT 提示:

Key exchange failed.
No compatible key exchange method. The server supports these methods: curve25519

请大家把 Xshell 和CRT 升级到更高版本吧! 

到此,完成了openssh 7.6升级到 8.4版本已完成,希望对大家有所帮助。

 

标签:sshd,p1,openssh,离线,etc,ssh,7.4,local,usr
来源: https://www.cnblogs.com/angelasp/p/13926453.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有