openssh升级到9.8

news2024/11/15 12:57:59

升级步骤



1、查看版本
[root@localhost openssh-8.8p1]# ssh -V
OpenSSH_8.8p1, OpenSSL 1.0.2k-fips  26 Jan 2017

2、下载安装包
cd /usr/local/src
wget https://www.zlib.net/zlib-1.3.1.tar.gz
wget https://www.openssl.org/source/openssl-3.2.1.tar.gz
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

3、配置备份
cp -rf /etc/ssh /etc/ssh.bak
cp -rf /usr/bin/openssl /usr/bin/openssl.bak
cp -rf /etc/pam.d /etc/pam.d.bak
cp -rf /usr/lib/systemd/system /usr/lib/systemd/system.bak
rm -rf /etc/ssh/*

4、解压
cd /usr/local/src/
tar -zxvf zlib-1.3.1.tar.gz
tar -zxvf openssl-3.2.1.tar.gz
tar -zxvf openssh-9.8p1.tar.gz

5、安装zlib
cd /usr/local/src/zlib-1.3.1
./configure --prefix=/usr/local/src/zlib
make -j 4 && make test && make install

6、安装openssl
需要额外安装依赖
yum install -y perl-IPC-Cmd
cd /usr/local/src/openssl-3.2.1
./config --prefix=/usr/local/src/openssl
make -j 4 && make install

mv /usr/bin/openssl /usr/bin/oldopenssl
ln -s /usr/local/src/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/src/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/src/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3

7、安装openssh
cd /usr/local/src/openssh-9.8p1/
./configure --prefix=/usr/local/src/ssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/src/openssl --with-zlib=/usr/local/src/zlib 
make -j 4 && make install
#查看目录版本
/usr/local/src/ssh/bin/ssh -V
#复制新ssh文件
cp -rf /usr/local/src/openssh-9.8p1/contrib/redhat/sshd.init /etc/init.d/sshd
cp -rf /usr/local/src/ssh/sbin/sshd /usr/sbin/sshd
cp -rf /usr/local/src/ssh/bin/ssh /usr/bin/ssh
cp -rf /usr/local/src/ssh/bin/ssh-keygen /usr/bin/ssh-keygen

8、启动服务
手动更新/etc/ssh/sshd_config
#重启sshd服务
/etc/init.d/sshd restart
#查看服务运行状态
/etc/init.d/sshd status
#添加开机启动
chkconfig --add sshd
#查看升级后ssh版本
[root@localhost ssh]# ssh -V
OpenSSH_9.8p1, OpenSSL 3.2.1 30 Jan 2024

查看Linux系统是否开通sshd服务

方法1、查看Linux系统是否开通sshd服务:systemctl status sshd.service或者service sshd status

如果该命令返回类似于active (running)的结果,则表示sshd服务已经在运行中。

[root@sr var]# systemctl status sshd.service		# 查看Linux系统是否开通sshd服务
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2021-06-05 09:59:11 CST; 2 years 8 months ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 1138 (sshd)
    Tasks: 1
   Memory: 7.8M
   CGroup: /system.slice/sshd.service
           └─1138 /usr/sbin/sshd -D

Mar 01 11:29:45 sr sshd[17514]: Did not receive identification string from XXX.XXX.XXX.XXX port 43992
Mar 01 12:01:05 sr sshd[20428]: Did not receive identification string from XXX.XXX.XXX.XXX port 59472
Mar 01 12:39:53 sr sshd[23931]: Connection closed by XXX.XXX.XXX.XXX port 52504 [preauth]
Mar 01 12:39:55 sr sshd[23934]: Connection closed by XXX.XXX.XXX.XXX port 52518 [preauth]
Mar 01 12:39:56 sr sshd[23937]: Connection closed by XXX.XXX.XXX.XXX port 52524 [preauth]
Mar 01 13:59:54 sr sshd[31209]: Did not receive identification string from XXX.XXX.XXX.XXX port 64001
Mar 01 14:52:51 sr sshd[3621]: Did not receive identification string from XXX.XXX.XXX.XXX port 57980
Mar 01 16:01:59 sr sshd[10113]: Accepted password for root from XXX.XXX.XXX.XXX port 18389 ssh2
Mar 01 16:42:55 sr sshd[13858]: Connection closed by XXX.XXX.XXX.XXX port 36434 [preauth]
Mar 01 16:44:21 sr sshd[14021]: Did not receive identification string from XXX.XXX.XXX.XXX port 10000
[root@sr var]# service sshd status		# 查看Linux系统是否开通sshd服务
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2021-06-05 09:59:11 CST; 2 years 8 months ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 1138 (sshd)
    Tasks: 1
   Memory: 7.8M
   CGroup: /system.slice/sshd.service
           └─1138 /usr/sbin/sshd -D

Mar 01 11:29:45 sr sshd[17514]: Did not receive identification string from XXX.XXX.XXX.XXX port 43992
Mar 01 12:01:05 sr sshd[20428]: Did not receive identification string from XXX.XXX.XXX.XXX port 59472
Mar 01 12:39:53 sr sshd[23931]: Connection closed by XXX.XXX.XXX.XXX port 52504 [preauth]
Mar 01 12:39:55 sr sshd[23934]: Connection closed by XXX.XXX.XXX.XXX port 52518 [preauth]
Mar 01 12:39:56 sr sshd[23937]: Connection closed by XXX.XXX.XXX.XXX port 52524 [preauth]
Mar 01 13:59:54 sr sshd[31209]: Did not receive identification string from XXX.XXX.XXX.XXX port 64001
Mar 01 14:52:51 sr sshd[3621]: Did not receive identification string from XXX.XXX.XXX.XXX port 57980
Mar 01 16:01:59 sr sshd[10113]: Accepted password for root from XXX.XXX.XXX.XXX port 18389 ssh2
Mar 01 16:42:55 sr sshd[13858]: Connection closed by XXX.XXX.XXX.XXX port 36434 [preauth]
Mar 01 16:44:21 sr sshd[14021]: Did not receive identification string from XXX.XXX.XXX.XXX port 10000

方法2、检查服务器的22端口是否处于监听状态(SSH默认使用22端口):netstat -tuln | grep 22或者netstat -an | grep 22

[root@sr var]# netstat -tuln | grep 22		# 检查服务器的22端口是否处于监听状态
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
[root@sr var]# netstat -an | grep 22		# 检查服务器的22端口是否处于监听状态
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:60119         127.0.0.1:35322         TIME_WAIT  
tcp        0     52 XXX.XXX.XXX.XXX:22        XXX.XXX.XXX.XXX:18389    ESTABLISHED
tcp        0      0 XXX.XXX.XXX.XXX:39116     XXX.XXX.XXX.XXX:60101   ESTABLISHED
tcp        0      0 XXX.XXX.XXX.XXX:32792     XXX.XXX.XXX.XXX:60101   ESTABLISHED
unix  2      [ ACC ]     STREAM     LISTENING     12258    /run/dbus/system_bus_socket
unix  2      [ ]         DGRAM                    14221    
unix  3      [ ]         STREAM     CONNECTED     21885622

方法3、查看是否有sshd进程:ps -ef | grep sshd`

[root@sr var]# ps -ef | grep sshd		# 查看是否有 sshd 进程
root      1138     1  0  2021 ?        00:01:18 /usr/sbin/sshd -D
root     10113  1138  0 16:01 ?        00:00:00 sshd: root@pts/0
root     18104 10115  0 17:27 pts/0    00:00:00 grep --color=auto sshd

报错处理

启动sshd后会报错:
"/sbin/restorecon:  lstat(/etc/ssh/ssh_host_dsa_key.pub) failed:  No such file or directory"

查看资料后知晓
从官方文档中可查,dsa从openssh 9.0就不再使用,rsa从openssh 9.3开始就不再使用

解决办法更改/etc/init.d/sshd
将此行注释掉 #/sbin/restorecon /etc/ssh/ssh_host_dsa_key.pub

重新加载启动即可
systemctl daemon-reload
systemctl restart sshd

报错没有权限

在这里插入图片描述
处理方式

vim /etc/ssh/sshd_config
将PermitRootLogin修改成yes

在这里插入图片描述
再次执行chmod 777 sshd_config

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

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

相关文章

在小程序添加公司官网访问

在小程序添加公司官网访问 有时候由于业务需要,在小程序上加入自己公司官网的访问地址,点击后跳转到官网。 本文详细讲解整个过程。 一、小程序管理台配置 进入小程序管理台 开发管理-》业务域名 加入你的公司官网域名,具体如下图所示&…

2024新型数字政府综合解决方案(八)

新型数字政府综合解决方案结合人工智能、大数据、区块链与云计算等先进技术,旨在构建一个智能、高效、透明的政务服务体系,通过全面整合各部门的信息资源,实现数据的实时共享与高效管理,从而大幅提升政府应对复杂社会问题的能力&a…

LookupError: Resource averaged_perceptron_tagger not found.解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

如何选择较为安全的第三方依赖版本?

如何选择较为安全的第三方依赖版本? 本文概览1.1 前言1.1.1 学会看第三方开源库的版本发布说明1.1.2 尽可能使用 starer 匹配的第三方开源库1.1.3 参考Maven 中心仓库的安全警告信息 本文概览 本篇博文分享如何选择较为安全的第三方依赖版本的方法。 1.1 前言 众…

学习Flutter时需要了解的背景知识

关键词:Flutter、移动UI框架、跨平台、Widget、高效开发、自定义Widget、热重载、性能优化 摘要:Flutter是Google推出的开源移动UI框架,旨在支持高效构建高质量的原生应用,同时兼容iOS和Android平台。它通过热重载技术实现高效开发…

【机器人学】7-1.六自由度机器人自干涉检测-总体算法介绍

目录 前言 机器人自干涉检测方法 一 机械臂各连杆等效 二 确定一个圆柱体 三 圆柱体的空间变换 四 空间几何分析 五 关键点总结 前言 机器人在运行过程中,可能发生碰撞,碰撞物可以是外界物体,也可以是机器人自己的关节间发生碰撞…

Docker部署Eclipse Mosquitto开源MQTT的消息代理环境步骤(实践)

1.前言 Eclipse Mosquitto是一个开源(EPL/EDL许可)的消息代理,实现了MQTT协议的版本5.0、3.1.1和3.1。Mosquitto是轻量级的,适用于从低功耗单板计算机到完整服务器的所有设备。 MQTT协议提供了一种轻量级的消息传输方法&#xf…

渗透测试-行业术语

1.肉鸡 肉鸡用来比喻哪些可以随意被我们控制的计算机,可以是普通的个人电脑,也可以是大型服务器或者其他网络设备,我们可以像操作自己的电脑一样操作他们而不被发觉。 2.木马 表面上伪装成了正常程序,但是当程序被运行的时候&a…

【gitlab】gitlab-ce:17.3.0-ce.0 1:使用docker engine安装

ce版本必须配置代理。 极狐版本可以直接pull 社区版GitLab不支持Alibaba Cloud Linux 3,本操作以Ubuntu/Debian系统为例进行说明,其他操作系统安装说明,请参见安装社区版GitLab。 docker 环境重启 sudo systemctl daemon-reload sudo systemctl restart docker脚本安装 安裝…

趣味算法------约瑟夫环

目录 问题概述: 问题解析: 图文示意: 处决开始: 第一轮结束: 第二轮结束: 最后一轮: 寻找规律: 最终思路: 具体代码: 总结: 问题概述&…

【Pytorch02】开发环境准备

开发环境准备 安装教程 视频 开发环境 Python 3.7 Anaconda 3.5.1CUDA 10.0Pycharm Community 检测是否安装完毕 conda --version # 检查Anaconda是否安装完毕 nvcc -V # 检查CUDA是否安装完毕

ES-分布式搜索引擎

DSL查询文档 精确查询 、 我附近的人 实例 根据页码跳转无法使用 高亮

Flandre Scarlet的精致蕾丝上半身造型,金发飘逸

Flandre Scarlet戴zun帽,上半身细节极其精致的蕾丝装饰,面带微笑,双臂自然下垂,金色头发飘逸。 正向提示词 Flandre Scarlet,zun hat,extremely detailed lace,:) , upper body,arms at sides,lace,golden hairFlandre Scarlet&…

AI学习记录 - transformers的decoder和encoder中的自注意力矩阵和掩码矩阵的数据处理

掩码掩码,指的是掩盖住后面的词汇的词向量对我当前词汇造成影响。把PAD字符设置成负无穷大,概念上不叫掩码,只是计算方式和掩码一样。 怎么生成掩码,在非掩码注意力矩阵中,把PAD词向量每个维度设置成负无穷大&#xf…

基于web框架的协同过滤的美食推荐系统【数据爬虫、管理系统、数据可更新、样式可调整】

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍研究背景研究的目的与意义协同过滤算法基于用户的协同过滤算法定义基于物品的协同过滤算法的定义 数据库设计db_food(美食信息表)db_collect(美食…

加载torch报错及如何解决

Failed to import pytorch fbgemm.dll or one of its dependencies is missing. 这往往是你的电脑缺少了某些微软的dll文件。所以报错了。 解决办法 前往https://www.dllme.com/dll/files/libomp140_x86_64?sortupload&arch0x8664 点击。 按照你的电脑是否为64位进行选择…

vue3-03-创建响应式数据的几种方法

响应式数据 一、 ref 创建:响应式数据1)ref 创建:基本类型的响应式数据2)ref 创建:对象类型的响应式数据3)volar 插件自动添加 .value4)customRef 自定义 ref 二、 reactive 创建:响…

联想2025校招 技术研究方向试卷

目录 1. 第一题2. 第二题 ⏰ 时间:2024/08/16 🔄 输入输出:ACM格式 ⏳ 时长:1.5h 本试卷还有选择题部分,但这部分比较简单就不再展示。 1. 第一题 题目描述 小明正在神奇苹果园里工作。这个苹果园里一共有 n n n 棵…

C#堆排序算法

前言 堆排序是一种高效的排序算法,基于二叉堆数据结构实现。它具有稳定性、时间复杂度为O(nlogn)和空间复杂度为O(1)的特点。 堆排序实现原理 构建最大堆:将待排序数组构建成一个最大堆,即满足父节点大于等于子节点的特性。将堆顶元素与最后…

海康VisionMaster使用学习笔记4-快速匹配模块

快速匹配模块 快速匹配包括基本参数,特征模板,运行参数,结果显示 基本参数 可以修改图像源和模块的ROI区域. 特征模版 可以配置管理所有的模版,点击创建可以新增模版,也可以通过载入加载本地的模型 建立新模版 点击创建,可以选择当前图像或本地图像进行建模 模版存图按…