Linux下升级OpenSSH8.4p1修复CVE-2020-15778漏洞

2024-02-23 15:18

本文主要是介绍Linux下升级OpenSSH8.4p1修复CVE-2020-15778漏洞,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

后记

升级到8.4p1后并没能修复该bug,临时解法:禁用scp命令
参考文章:禁用scp

实践环境

系统:CentOS 7.9,OpenSSH版本:7.4p1

#查看版本
cat /etc/redhat-release
ssh -V

一、安装Telnet登录

为防止升级OpenSSH8.4p1出现问题,造成无法远程登录,需要准备一个备用方案,这里选择telnet登录,如果有其他备用方案,也可不安装跳过该步骤

  1. 安装
    yum install xinetd telnet-server -y
    
  2. 配置
    vim /etc/xinetd.d/telnet
    内容如下
    service telnet
    {disable = yesflags       = REUSEsocket_type = stream       wait        = nouser        = rootserver      = /usr/sbin/in.telnetdlog_on_failure  += USERID
    }
    
  3. 防火墙添加23端口
    firewall-cmd --add-port=23/tcp --permanent
    firewall-cmd --reload 
    
  4. 启动服务
    systemctl enable xinetd
    systemctl enable telnet.socket
    systemctl start telnet.socket
    systemctl start xinetd
    
  5. 本地登录测试
    telnet 远程电脑ip
    
    输入用户密码即可,这里不能使用root账号;使用root需要进行额外配置,非root账号最好有sodu权限;

二、备份

备份pam.d的sshd,后面要用
cp /etc/pam.d/sshd /etc/pam.d/sshd.bak

三、卸载原有OpenSSH

systemctl stop sshd
yum remove openssh

以上是使用yum install openssh openssh-clients openssh-server安装或默认安装的卸载方式,如果使用源码安装,则在源码包下执行:make uninstall

验证:ssh -V
升级openssh8.4,卸载原来版本
移除残留

rm -rf /etc/ssh

四、安装必要依赖

yum -y install gcc pam pam-devel zlib zlib-devel openssl-devel

五、源码安装

OpenSSH8.4官方源码包下载地址:http://www.openssh.com/portable.html#http
OpenSSH8.4官方安装文档:
http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssh.html

  1. 下载源码包
wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz
tar -xzf openssh-8.4p1.tar.gz
cd openssh-8.4p1
  1. 安装
 ./configure  --prefix=/usr  --sysconfdir=/etc/ssh  --with-pammakemake install

验证安装是否成功

ssh -V
sshd -V
  1. 配置
cp contrib/redhat/sshd.pam /etc/pam.d/sshd -f
install -v -m755 contrib/ssh-copy-id /usr/bin
install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1
cp -p contrib/redhat/sshd.init /etc/init.d/sshd -f
#使用原来覆盖
rm /etc/pam.d/sshd -f
cp /etc/pam.d/sshd.bak /etc/pam.d/sshd -f
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'UsePAM yes' >> /etc/ssh/sshd_config
echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config
echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config
  1. 开机启动
chmod +x /etc/init.d/sshd 
systemctl enable sshd
  1. 启动服务
systemctl restart sshd 

成功启动服务后,在本地验证登录,大功告成!

六、错误查找

通过systemctl status sshd可以看到出错信息;
附上错误集锦:升级OpenSSH8.4常见错误

这篇关于Linux下升级OpenSSH8.4p1修复CVE-2020-15778漏洞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/739043

相关文章

linux服务之NIS账户管理服务方式

《linux服务之NIS账户管理服务方式》:本文主要介绍linux服务之NIS账户管理服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、所需要的软件二、服务器配置1、安装 NIS 服务2、设定 NIS 的域名 (NIS domain name)3、修改主

Linux实现简易版Shell的代码详解

《Linux实现简易版Shell的代码详解》本篇文章,我们将一起踏上一段有趣的旅程,仿照CentOS–Bash的工作流程,实现一个功能虽然简单,但足以让你深刻理解Shell工作原理的迷你Sh... 目录一、程序流程分析二、代码实现1. 打印命令行提示符2. 获取用户输入的命令行3. 命令行解析4. 执行命令

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

Linux区分SSD和机械硬盘的方法总结

《Linux区分SSD和机械硬盘的方法总结》在Linux系统管理中,了解存储设备的类型和特性是至关重要的,不同的存储介质(如固态硬盘SSD和机械硬盘HDD)在性能、可靠性和适用场景上有着显著差异,本文... 目录一、lsblk 命令简介基本用法二、识别磁盘类型的关键参数:ROTA查询 ROTA 参数ROTA

嵌入式Linux之使用设备树驱动GPIO的实现方式

《嵌入式Linux之使用设备树驱动GPIO的实现方式》:本文主要介绍嵌入式Linux之使用设备树驱动GPIO的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、设备树配置1.1 添加 pinctrl 节点1.2 添加 LED 设备节点二、编写驱动程序2.1

嵌入式Linux驱动中的异步通知机制详解

《嵌入式Linux驱动中的异步通知机制详解》:本文主要介绍嵌入式Linux驱动中的异步通知机制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、异步通知的核心概念1. 什么是异步通知2. 异步通知的关键组件二、异步通知的实现原理三、代码示例分析1. 设备结构

Linux搭建单机MySQL8.0.26版本的操作方法

《Linux搭建单机MySQL8.0.26版本的操作方法》:本文主要介绍Linux搭建单机MySQL8.0.26版本的操作方法,本文通过图文并茂的形式给大家讲解的非常详细,感兴趣的朋友一起看看吧... 目录概述环境信息数据库服务安装步骤下载前置依赖服务下载方式一:进入官网下载,并上传到宿主机中,适合离线环境