redhat 7.4从openssh7.6离线升级openssh8.4p1解决方法
具体需求
这几天生产环境服务器又进行了安全扫描,每次都会报一下漏洞错误。虽然只有一个高危问题,但是每次看到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版本已完成,希望对大家有所帮助。
redhat 7.4从openssh7.6离线升级openssh8.4p1解决方法的更多相关文章
- 关于Chrome 67 以后版本无法离线安装扩展的解决方法
升级了Chrome,突然发现扩展管理页面有问题—— 无法离线安装扩展,拖拽crx文件至该页面,Chrome竟然一直提示“无法从该网站添加应用,扩展程序和用户脚本”. 如图: 谷歌自Chrome 67版 ...
- pip3 升级失败的解决方法!亲测有效
pip3 --default-timeout=10000 install -U pip 注意:由于防火长城的存在,会导致更新失败,如果你加上--default-timeout=10000 这个就ok ...
- 实战redhat6.5离线升级openssl&openssh
记录一次RedHat6.5升级openssl&openssh踩坑填坑.由于机房信息安全员用绿盟扫描出服务器openssh有8个重要的安全漏洞,最好的解决方式就是升级版本. 注意事项: 先升级o ...
- centos7 离线升级/在线升级操作系统内核
目录 一.前言 二.系统环境 三.系统内核下载网址 四.centos7离线升级系统内核 1.先查看系统环境 2.离线升级系统内核 五.在线升级系统内核 一.前言 CentOS(Community EN ...
- Android Studio下载及离线升级方法
由于众所周知的原因,android官网无法访问,所以我们要用到翻.墙.工具,我用的是自.由.门,大家自行搜索下载. android studio下载地址: https://dl.google.com/ ...
- Debian7离线升级bash漏洞—然后修复方法
### 昨天还说的传说要又一次出补丁,今天就都出来了.基本操作一致就是測试结果不一样.继续修复 Debian7 wheezy版本号的bash漏洞,例如以下操作: 1.測试是否须要升级 # env x= ...
- CentOS7安装CDH 第十一章:离线升级CDH版本
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
- suse 12 升级 OpenSSH-7.2p2 到 OpenSSH-8.4p1
文章目录 1.查看当前当前环境信息 1.1.查看openssh当前版本 1.2.查看当前linux发行版 2.部署telnet-server 2.1.下载telnet-server 2.2.配置tel ...
- 记录openssl和openssh升级中遇到的问题以及解决方法
本文档讲述的升级操作是基于操作系统centos6.5,使用的openssl版本是openssl-1.0.2l.tar.gz,openssh版本是openssh-7.6p1.tar.gz. 1. 依赖检 ...
随机推荐
- 坐标下降(Coordinate descent)
坐标下降法属于一种非梯度优化的方法,它在每步迭代中沿一个坐标的方向进行线性搜索(线性搜索是不需要求导数的),通过循环使用不同的坐标方法来达到目标函数的局部极小值.
- 03 . Docker数据资源管理与网络
Docker数据卷 在容器中管理数据主要有两种方式 # 数据卷(Data volumes) # 数据卷容器(Data volume containers) # 数据卷是一个可供一个或多个容器使用的特殊 ...
- 【Linux】一些文件限制配置
linux资源限制配置文件是/etc/security/limits.conf:限制用户进程的数量对于linux系统的稳定性非常重要. limits.conf文件限制着用户可以使用的最大文件数,最大线 ...
- HTML中css水平居中的几种方式
1. 子元素为行内元素时,父元素使用 text-align: center; 实现子元素的水平居中: 2. 子元素为块级元素时, 2.1. 将子元素设置 margin: 0 auto; 实现居中: 2 ...
- 044 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 06 使用do-while循环实现猜字游戏
044 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 06 使用do-while循环实现猜字游戏 本文知识点:do-while循环深入运用 案例练习 案例 ...
- Arduino Mega 2560
Arduino Mega 2560 www.theengineeringprojects.com/ 此板子有54个引脚,16个模拟量输入引脚,12个PWM输出引脚,4个串口,带I2C,SPI通讯口,更 ...
- 第3天 | 12天搞定Python,用VSCode编写代码
Visual Studio Code (简称 VS Code), 是一款免费并且开源的现代化轻量级代码编辑器,支持语法高亮.智能代码补全.自定义热键.括号匹配.代码片段等特性,并针对网页开发做了优化. ...
- 关于umi-request GET请求参数携带数组
在使用umi-request时候发现GET传递数组,后台在接收时只能接受到最后一个,对此记录一下. 问题: // 发送数据: request(url, { params: { select: [1,2 ...
- 不是计算机专业的,可以转专业甚至转行学IT吗?答案揭晓~
相信有这样疑惑的同学不在少数,随着互联网的快速发展,越来越多的人想要转行到IT行业,可又担心自己的专业不对口,影响将来的发展,那么究竟不是计算机专业的可以转行IT吗? 当然是可以的,其实很多的IT大佬 ...
- 干货分享:用一百行代码做一个C/C++表白小程序,程序员的浪漫!
前言:很多时候,当别人听到你是程序员的时候.第一印象就是,格子衫.不浪漫.直男.但是程序员一旦浪漫起来,真的没其他人什么事了.什么纪念日,生日,情人节,礼物怎么送? 做一个浪漫的程序给她,放上你们照片 ...