OpenSSH 远程升级到 9.4p1

news2025/1/23 3:20:23

OpenSSH 远程升级到 9.4p1

文章目录

  • OpenSSH 远程升级到 9.4p1
    • 背景
    • 升级前提
      • 1. 升级 OpenSSL
      • 2. 安装并启用Telnet
    • 升级OpenSSH


背景

最近的护网行动,被查出来了好几个关于OpenSSH 的漏洞。这是因为服务器系统安装后,直接使用了系统自带版本的OpenSSH ,此版本已经很老了,存在很多高低危漏洞。

系统信息如下:
centos: 7
openssh: 1.0.1


升级前提

  • 升级OpenSSH后,原有公钥失效,信任关系需要重新配置;
  • 升级过程需要停止sshd服务,会导致ssh和sftp无法使用;
  • 升级需要关闭防火墙服务;
  • 升级需要关闭selinux服务;
  • 升级前需要开启telnet,防止升级失败,系统无法登录,对应的防火墙需要开启23端口,安装需要telnet相关包
  • 升级过程中需要刷新lib库:ldconfig -v;
  • 升级顺序:顺序是 openssl -> openssh;
  • 升级需要gcc、make、perl、zlib、zlib-devel、pam、pam-devel依赖包;

1. 升级 OpenSSL

安装OpenSSH :9.4p1 需要最少 OpenSSL :1.1.1 以上,因此请先查看文章OpenSSL升级

2. 安装并启用Telnet

  • 安装telnet服务端
	yum -y install xinetd telnet-server

默认情况下,系统是不允许root用户telnet远程登录的。如果要使用root用户直接登录,需设置如下内容。或者可以添加一个可以登录的用户,登录并su到root用户(建议采用此方法,保证系统安全)。此步骤可跳过!

允许root用户通过telnet登陆:
编辑/etc/pam.d/login,注释掉下面这行

 	vi /etc/pam.d/login
 	#把auth的限制去掉
	auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

开启root用户远程登陆。此步骤可跳过!

	vi /etc/pam.d/remote

	auth required pam_securetty.so
  • 重启telnet和xinetd服务 【telnet服务依赖于xinetd服务】
	systemctl restart telnet.socket
	systemctl restart xinetd
  • 将 23端口(系统默认23为telnet端口)添加到防火墙允许的端口的列表中。
 	firewall-cmd --zone=public --add-port=23/tcp --permanent

升级OpenSSH

  • 关闭SElinux
	#检查是否关闭:
	getenforce
	#如果未关闭,关闭之
	setenforce 0

上面只是临时关闭了,重启后不生效。下面改配置文件,使永久生效。

	vi /etc/selinux/config
	#修改:
  SELINUX=disabled
	#保存退出。
  • 安装相关依赖包
	yum -y install gcc make perl zlib zlib-devel pam pam-devel
	# 安装完毕后执行下面命令,确保所有依赖包正常安装
	rpm -qa | egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel"
  • 升级openSSH(注意从这步开始,通过Telnet登录到服务器,务必)
	#停止ssh服务
	systemctl stop sshd

	#备份ssh配置文件
	cp -r /etc/ssh /etc/ssh.old

	# 查看系统原有openssh包
	rpm -qa | grep openssh
	#删除旧版本
	rpm -e --nodeps `rpm -qa | grep openssh`

	#解压新版本
	tar -zxvf openssh-9.4p1.tar.gz 
	cd openssh-9.4p1

	# 编译配置  这里请注意--with-ssl-dir 是你openssl安装的目录
	./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl  --without-hardening

	#编译安装
	make && make install

	#调整文件权限
	chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key

	#复制配置文件
	cp -a contrib/redhat/sshd.init /etc/init.d/sshd 
	chmod u+x /etc/init.d/sshd

	#还原 原配置文件
	mv ../sshd.backup /etc/pam.d/sshd 
	mv ../sshd_config.backup /etc/ssh/sshd_config

	#添加自启动
	chkconfig --add sshd 
	chkconfig sshd on

	#重启服务
	systemctl restart sshd

	# 查看版本, 验证结果 - 显示9.4p1即成功
	ssh -V

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/883402.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

lib调试报LNK2038 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”

最近用cef,要debug调试,引用库时,提示: LNK2038 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2” 研究后的结论:这是因为,这个库的实现方式太老: #if _HAS_ITERATOR_DEBUG…

【C++笔记】C++之类与对象(上)

【C笔记】C之类与对象(上) 1、类是结构体的升级2、类中可以定义的东西3、类访问限定符4、类的声明5、类的实例化(定义)6、类的大小的计算7、this指针 1、类是结构体的升级 C的一个显著特征就是兼容C语言,所以C把结构体“升级”成了“类”&am…

高等数学 | 微分方程解决单中值问题、高阶导数的莱布尼兹公式

单中值问题都可以用通过求解微分方程的特解构造辅助函数,再用罗尔定理即可。 高阶导数的莱布尼兹公式推导以及应用,先求导至能够发现某次求导开始为0的时候,对其使用莱布尼兹公式。

Photoshop制作漂亮光泽感3D按钮

原文链接(https://img-blog.csdnimg.cn/45472c07f29944458570b59fe1f9a0e0.png)

简单记录牛客top101算法题(初级题C语言实现)BM24 二叉树的中序遍历 BM28 二叉树的最大深度 BM29 二叉树中和为某一值的路径

1. BM24 二叉树的中序/后续遍历 要求:给定一个二叉树的根节点root,返回它的中序遍历结果。                          输入:{1,2,#,#,3} 返回值:[2,3,1]1.1 自己的整体思路(与二叉树的前序遍…

HCIP——BGP协议

目录 一.什么是BGP? 二.IGP和EGP 三.BGP的特点 四.BGP的数据包 五.BGP的工作过程 BGP的六种状态机 六.BGP的路由黑洞问题 七.BGP的防环机制——水平分割 八.BGP的宣告问题 九.BGP的自动汇总 十.BGP的安全特性 十一.BGP的选路规则 一.什么是BGP? 1.…

ATF(TF-A)安全通告 TFV-8 (CVE-2018-19440)

安全之安全(security)博客目录导读 ATF(TF-A)安全通告汇总 目录 一、ATF(TF-A)安全通告 TFV-8 (CVE-2018-19440) 二、CVE-2018-19440 一、ATF(TF-A)安全通告 TFV-8 (CVE-2018-19440) Title 不保存x0~x3寄存器可能会将信息从一个非安全世界的SMC client泄漏到另一个 CVE ID …

学习ts(二)数据类型(接口和对象类型、数组类型)

interface 重名会重合到一起 如果两个interface名称相同,会把两个合到一起 重复定义同一个需要类型相同 不能多或者减少属性 设置任意key 当定义接口返回数据时,我们不确定接口会返回多少,知道所需要的固定属性,其余属性可以…

第九章 动态规划part08(代码随想录)

139.单词拆分 1. 确定dp[i][j] dp数组以及下标的含义一维dp数组的递推公式 dp[i] : 字符串长度为i的话,dp[i]为true,表示可以单词能被在字典中出现的单词组成。 dp[s.size()] true; 说明可以利用字典中出现的单词拼接出 s 。 2. 一维dp数组的递推公式…

【STM32 学习】电源解析(VCC、VDD、VREF+、VBAT)

VCC电源电压GND电源供电负电压(通常接地)VDD模块工作正电压VSS模块工作负电压VREFADC参考正电压VREF-ADC参考负电压VBAT电池或其他电源供电VDDA模拟供电正电压VSSA模拟供电负电压 一、VCC(供电电压) VCC是指芯片的电源电压&#…

linux安装mysql-8.0.33正确方式及常见问题

目录 获取mysql下载地址链接 解压安装包 复制文件到安装目录 添加用户和用户属组修改权限 创建存储数据的文件夹/usr/local/mysql 初始化安装 修改配置文件 创建日志文件并赋予对应权限 启动成功​编辑 创建软链接 之前安装过mysql,时间比较长忘记安装步骤了今天…

【C语言】memset()函数

一.memset()函数简介 我们先来看一下cplusplus.com - The C Resources Network网站上memset()函数的基本信息: 1.函数功能 memset()函数的功能是:将一块内存空间的每个字节都设置为指定的值。 这个函数通常用于初始化一个内存空间,或者清空一个内存空间…

HCIP第五节------------------------------------------ospf

一、OSPF基础 1、动态路由分类 2、距离矢量协议 运行距离矢量路由协议的路由器周期性地泛洪自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中,然后再通告给其他相邻路由器。 对于网络中的所有…

服务器数据恢复-EqualLogic存储RAID5数据恢复案例

服务器数据恢复环境: 一台DELL EqualLogic存储中有一组由16块SAS硬盘组建的RAID5阵列。存储存放虚拟机文件,采用VMFS文件系统,划分了4个lun。 服务器故障&检测&分析: 存储设备上有两个硬盘指示灯显示黄色,存储…

使用python读Excel文件并写入另一个xls模版

效果如下: 原文件内容 转化后的内容 大致代码如下: 1. load_it.py #!/usr/bin/env python import re from datetime import datetime from io import BytesIO from pathlib import Path from typing import List, Unionfrom fastapi import HTTPExcep…

炬芯科技发布全新第二代智能手表芯片,引领腕上新趋势!

2023年7月,炬芯科技宣布全新第二代智能手表芯片正式发布。自2021年底炬芯科技推出第一代的智能手表芯片开始便快速获得了市场广泛认可和品牌客户的普遍好评。随着技术的不断创新和突破,为了更加精准地满足市场多元化的变幻和用户日益增长的体验需求&…

二.net core 自动化发布到docker (Jenkins安装之后向导)

目录 ​​​​​​​​​​​​​​ 参考资料:https://www.jenkins.io/doc/book/installing/docker/#setup-wizard Post-installation setup wizard.(安装后安装向导) 基于上一篇文章安装,在安装并运行Jenkins(不包括使用Jenkins Opera…

数据结构-单链表(C语言简单实现)

简介 以顺序结构进行数据存储时,它的特点就是可以用一组任意的存储单元存储数据元素,这组存储单元可以是连续的,也可以是不连续的,这些数据可以存在内存未被占用的任意位置。它也是有缺点的,就是在插入和删除时需要移…

SpringBoot、Java 使用 Jsoup 解析 HTML 页面

使用 Jsoup 解析 HTML 页面 什么是 Jsoup? Jsoup 是一个用于处理 HTML 页面的 Java 库,它提供了简单的 API,使得从 HTML 中提取数据变得非常容易。无论是获取特定标签的内容还是遍历整个页面的元素,Jsoup 都能轻松胜任。 如何使…

CI/CD流水线实战

不知道为什么,现在什么技术都想学,因为我觉得我遇到了技术的壁垒,大的项目接触不到,做的项目一个字辣*。所以,整个人心浮气躁,我已经得通过每天的骑行和长跑缓解这种浮躁了。一个周末,我再次宅在…