Linux(Centos7)OpenSSH漏洞修复,升级最新openssh-9.7p1

2024-06-18 10:04

本文主要是介绍Linux(Centos7)OpenSSH漏洞修复,升级最新openssh-9.7p1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OpenSSH更新

    • 一、OpenSSH漏洞
    • 二、安装zlib
    • 三、安装OpenSSL
    • 四、安装OpenSSH

一、OpenSSH漏洞

服务器被扫描出了漏洞需要修复,准备升级为最新openssh服务
在这里插入图片描述
在这里插入图片描述

1. 使用ssh -v查看本机ssh服务版本号

ssh -V

虚拟机为OpenSSH7.4p1,现在准备升级为OpenSSH9.7p1
在这里插入图片描述
2. 准备好需要用到的安装包

链接:https://pan.baidu.com/s/1fN624AdqSp7aG2QXs8nAKw?pwd=8888 
提取码:8888

在这里插入图片描述
3. 将安装包全部上传至服务器/opt目录(可以是任意目录,解压时注意路径)
在这里插入图片描述
4. 安装telnet服务。为了保险起见,假如ssh更新失败断开又连不上我们可以使用telnet服务连接。此步骤可跳过大家根据自己实际情况来。升级OpenSSH之前多打开一个连接窗口,假如升级失败了卸载了SSH也还是能连上的,只是不能断开,断开就连不上了。

4.1 telnet服务是由xinetd管理的,需要安装xinetd服务才能启动telnet-server

yum -y install telnet-server xinetd

在这里插入图片描述在这里插入图片描述
4.2 添加telnet配置文件

echo "service telnet
{flags        = REUSEsocket_type    = stream        wait        = nouser        = rootserver        = /usr/sbin/in.telnetdlog_on_failure    += USERIDdisable        = no
}" > /etc/xinetd.d/telnet 

在这里插入图片描述
4.3 启动xinetd

systemctl start xinetd && systemctl status xinetd

在这里插入图片描述
4.4 开机自启xinetd

systemctl enable xinetd

4.5 创建连接账号密码

#创建连接账号
useradd admins
#设置连接密码
passwd admins
#设置密码
Asd123!!!

在这里插入图片描述
4.6 测试连接
使用win+r输入cmd打开指令板,输入telnet 服务器IP在这里插入图片描述
输入刚刚创建的账号密码连接,和SSH连接一样

#步骤4.5创建的
账号: admins
密码: Asd123!!!

在这里插入图片描述
4.7 现在不需要ssh连接工具也能连接了,这样即便ssh连接失败也能用指令板操作。
在这里插入图片描述
5. 备份之前的SSH配置文件

cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp -p /usr/sbin/sshd /usr/sbin/sshd.bak
cp -p /usr/bin/ssh /usr/bin/ssh.bak
cp -rf /usr/bin/openssl /usr/bin/openssl.bak
cp -p /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp -p /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
cp -rf /usr/lib/systemd/system /system.bak
cp /etc/pam.d/sshd /etc/pam.d/sshd.bak

在这里插入图片描述
6. 依赖安装-绝大部分应该都已经装过,可以只装没装过的

yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel zlib-devel perl-IPC-Cmd

在这里插入图片描述

二、安装zlib

1. 解压

tar -zxvf zlib-1.3.1.tar.gz -C /usr/local/cd /usr/local/zlib-1.3.1/

在这里插入图片描述
在这里插入图片描述
2. 编译 && 安装

./configure --prefix=/usr/local/zlib

在这里插入图片描述

make && make install

在这里插入图片描述
在这里插入图片描述

三、安装OpenSSL

1. 解压

cd /opttar -zxvf openssl-3.3.0.tar.gz -C /usr/local/cd /usr/local/openssl-3.3.0

在这里插入图片描述
2. 安装依赖

yum install -y perl-CPAN perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

在这里插入图片描述

perl-IPC-Cmd,Data-Dumper-2不装直接安装openssl会报错,可能是虚拟机比较老,正常服务器应该有安装,可先跳过,如果报错在回来装

3. 安装perl-IPC-Cmd

cp /opt
unzip perl-IPC-Cmd.zip -d /usr/local/
cd /usr/local

在这里插入图片描述

cd perl
rpm -ivhU * --nodeps --force

在这里插入图片描述
4. 安装Data-Dumper-2.183

cp /opt
tar -zxvf Data-Dumper-2.183.tar.gz -C /usr/local
cd Data-Dumper-2.183

在这里插入图片描述

cd Data-Dumper-2.183
perl Makefile.PL
make
make install

在这里插入图片描述
5. 安装openssl

cd /opt
tar -zxvf openssl-3.3.0.tar.gz -C /usr/local/
cd /usr/local/openssl-3.3.0/./config  --prefix=/usr/local/ssl  --shared

在这里插入图片描述
6. 编译安装,过程比较久,大概十来分钟

make && make install

在这里插入图片描述
编译安装完成
在这里插入图片描述
7. 配置

#依次执行
mv /usr/bin/openssl /usr/bin/oldopenssl
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/ssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3echo "/usr/local/ssl/lib64" >> /etc/ld.so.confldconfig

在这里插入图片描述
8. 查看更新后的版本

openssl version -v

在这里插入图片描述

四、安装OpenSSH

1. 卸载旧版本openssh7.4p1注意:卸载完千万不能断开,断开就连不上了

yum remove -y openssh

在这里插入图片描述

2. 清理残余文件

rm -rf /etc/ssh/*

在这里插入图片描述
3. 解压

cd /opt
tar -zxvf openssh-9.7p1.tar.gz -C /usr/local/
cd /usr/local/openssh-9.7p1

在这里插入图片描述
4. 编译安装

./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl

在这里插入图片描述

在这里插入图片描述

make && make install 

在这里插入图片描述

5. 配置ssh

#ssh允许root登录、需要密码进行验证
echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config#将编译安装的新配置文件   拷贝到原路径下
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub#拷贝启动脚本
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
#给sshd添加可执行权限
chmod +x /etc/init.d/sshd
#设置开机自启
systemctl enable sshd
#重新启动sshd服务
systemctl restart sshd
#查看sshd服务状态
systemctl status sshd

在这里插入图片描述
6. 查看OpenSSH版本,显示新版本就是升级成功了,如果显示还是旧的话断开重连一下再查看版本,可能没刷新

ssh -V

在这里插入图片描述

这篇关于Linux(Centos7)OpenSSH漏洞修复,升级最新openssh-9.7p1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux磁盘分区、格式化和挂载方式

《Linux磁盘分区、格式化和挂载方式》本文详细介绍了Linux系统中磁盘分区、格式化和挂载的基本操作步骤和命令,包括MBR和GPT分区表的区别、fdisk和gdisk命令的使用、常见的文件系统格式以... 目录一、磁盘分区表分类二、fdisk命令创建分区1、交互式的命令2、分区主分区3、创建扩展分区,然后

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

Spring Boot 中整合 MyBatis-Plus详细步骤(最新推荐)

《SpringBoot中整合MyBatis-Plus详细步骤(最新推荐)》本文详细介绍了如何在SpringBoot项目中整合MyBatis-Plus,包括整合步骤、基本CRUD操作、分页查询、批... 目录一、整合步骤1. 创建 Spring Boot 项目2. 配置项目依赖3. 配置数据源4. 创建实体类

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

Java子线程无法获取Attributes的解决方法(最新推荐)

《Java子线程无法获取Attributes的解决方法(最新推荐)》在Java多线程编程中,子线程无法直接获取主线程设置的Attributes是一个常见问题,本文探讨了这一问题的原因,并提供了两种解决... 目录一、问题原因二、解决方案1. 直接传递数据2. 使用ThreadLocal(适用于线程独立数据)