Ubuntu20.04升级openssh9.4(源码升级)

目录

一、前景提要

二、先备份默认配置

三、卸载apt已安装OpenSSH

四、在线安装源码编译依赖环境

五、源码安装

六、还原之前的配置(如果权限安装跳过此步骤)

七、错误处理


一、前景提要

当前Linux Server上的OpenSSH版本太低,有漏洞而且不安全,需要马上进行升级。由于OpenSSH依赖于openssl,因此先确认安装openssl,可以通过openssl version查看openssl版本。这里不单独将openssl安装。

操作系统:Ubuntu 20.04.6 LTS

OpenSSH版本变化:OpenSSH 8.2p1 = > OpenSSH_9.4p1

OpenSSH安装方式:源码升级

选项:需要保留原来openssh配置,保证基于此功能的sftp功能正常。

二、先备份默认配置

主要是 /etc/ssh、 /etc/init.d/ssh (重要配置文件cat /etc/ssh/sshd_config)

mv /etc/ssh /etc/ssh.bak
mv /etc/init.d/ssh /etc/init.d/ssh.bak
三、卸载apt已安装OpenSSH

1.查看原来通过apt方式已经安装openssh软件

sudo apt list --installed | grep openssh

2.卸载原来OpenSSH

sudo apt-get remove openssh-server openssh-client -y
四、在线安装源码编译依赖环境
sudo apt update
sudo apt install gcc make zlib1g-dev libpam0g-dev libkrb5-dev libedit-dev libssl-dev -y
五、源码安装

1.解压openssh源代码

cd /install/
tar -zxf openssh-9.4p1.tar.gz

2.配置编译选项

cd openssh-9.4p1/
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam

3.编译并安装

make && make install

4.查看新安装后的openssh版本

ssh -V
六、还原之前的配置(如果权限安装跳过此步骤)
1. 替换sshd_config## 备份新的configmv /etc/ssh/sshd_config /etc/ssh/sshd_config.default0## 还原原来的configcp -a /etc/ssh.20240227/sshd_config /etc/ssh/2. 还原配置mv /etc/init.d/ssh.20240227 /etc/init.d/ssh

十、解除锁定、重启ssh

systemctl unmask sshsystemctl restart sshd

注意:unmask后需要恢复原来的配置/etc/init.d/ssh,才能重新restart启动成功!

七、错误处理

查看sshd状态并解决报错问题

systemctl status sshd

ssh服务重新启动后错误处理

下面是错误日志

systemctl status sshd
● ssh.service - LSB: OpenBSD Secure Shell serverLoaded: loaded (/etc/init.d/ssh; generated)Active: active (exited) since Tue 2024-02-27 12:41:28 CST; 6s agoDocs: man:systemd-sysv-generator(8)Process: 2327592 ExecStart=/etc/init.d/ssh start (code=exited, status=0/SUCCESS)Feb 27 12:41:27 master systemd[1]: Starting LSB: OpenBSD Secure Shell server...
Feb 27 12:41:28 master  ssh[2327592]:  * Starting OpenBSD Secure Shell server sshd
Feb 27 12:41:28 master  ssh[2327599]: /etc/ssh/sshd_config line 72: Unsupported option GSSAPIAuthentication
Feb 27 12:41:28 master  ssh[2327599]: /etc/ssh/sshd_config: line 112: Bad configuration option: DebianBanner
Feb 27 12:41:28 master  ssh[2327599]: /etc/ssh/sshd_config: terminating, 1 bad configuration options
Feb 27 12:41:28 master  ssh[2327592]:    ...fail!
Feb 27 12:41:28 master  systemd[1]: Started LSB: OpenBSD Secure Shell server.

1、报错:/etc/ssh/sshd_config line 72: Unsupported option GSSAPIAuthentication

      打开/etc/ssh/sshd_config,注释掉: GSSAPIAuthentication yes

2、报错:  /etc/ssh/sshd_config: line 112: Bad configuration option: DebianBanner

      打开/etc/ssh/sshd_config ,注释掉: DebianBanner **

修改后重启sshd

至此,你的Ubuntu 20.04系统就已经升级到OpenSSH 9.4了。你可以使用ssh -V命令查看当前的SSH版本,确认升级是否成功:

如果看到的版本号是OpenSSH_9.4,那么说明升级成功。

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

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

相关文章

编译opencv gpu版的条件

一、具备以下条件即可编译opencv gpu: 1、 终端设备必须有独立显卡。cmd窗口:nvidia-smi查看显卡信息 2、下载并安装CUDA Toolkit(根据显卡下载对应的CUDA Toolkit软件)、cuDNN(根据CUDA版本下载对应的cuDNN&#xff0…

Vue2:编程式路由页面跳转

一、情景说明 在前面&#xff0c;我们学习了通过router-link标签&#xff0c;实现路由页面跳转 但是&#xff0c;它有局限性 就是router-link最终会被替换成<a>标签 如果&#xff0c;我们的跳转按钮是button实现的了&#xff1f; 该如何实现路由页面跳转了&#xff1f;…

【MQ05】异常消息处理

异常消息处理 上节课我们已经学习到了消息的持久化和确认相关的内容。但是&#xff0c;光有这些还不行&#xff0c;如果我们的消费者出现问题了&#xff0c;无法确认&#xff0c;或者直接报错产生异常了&#xff0c;这些消息要怎么处理呢&#xff1f;直接丢弃&#xff1f;这就是…

带大家做一个,易上手的家常蒜香菠菜

一捆 菠菜 四瓣蒜 蒜去皮切末 菠菜切段 多清洗几次 因为菠菜上面的土真的是太多了 菠菜下锅 加水煮一分钟左右 因为菠菜内的草酸成分非常高 所以这一步肯定是要的 然后将菠菜捞出来 干和叶子分开 锅中水倒掉 清洗一下 然后起锅烧油 下蒜末炒香 然后 下菠菜干 因为干熟的…

Python + Selenium —— 网页元素定位之标签名和链接文本定位

tag name tag name 为标签名定位&#xff0c;使用网页元素的标签名如a, div, input, span 等。 但是有一个问题&#xff0c;常见的标签名比如 在同一个页面上有非常多。会不会觉得 tag name 没什么用呢&#xff1f; 当然普通的模拟操作是不大有用&#xff0c;这个重复性实在…

笔记:GO1.19 带来的优化(重新编译juicefs)

## 背景 go编写的应用程序&#xff08;juicefs&#xff09;在k8s&#xff08;docker&#xff09;中运行&#xff0c;时不时出现 OOM Killed。 ## 分析 发现某些应用使用juicefs会导致内存使用飙升&#xff1b; k8s的pod给的内存资源&#xff1a;request 2G&#xff0c;limit…

Java面试题之mysql

Mysql 1. MySQL的索引原理是什么?什么是索引&#xff1f;以及索引的优缺点&#xff1f;2. 解释一下B树和B树的区别及各自定义?3. MyISAM索引和Innodb索引的区别&#xff1f;4. 什么是聚簇索引&#xff1f;辅助索引&#xff1f;5.非聚簇索引一定会回表查询么&#xff1f;6. 什…

树形数组对象扁平化与反向转换

将树形数组对象扁平化是将具有层级结构的对象数组转换成一个简单的、没有嵌套的对象数组的过程。这通常涉及到递归遍历树结构&#xff0c;并将每个节点添加到一个新的数组中。下面是一个使用JavaScript实现这一过程的例子&#xff1a; function flattenTree(tree) { let resul…

基于springboot实现线上阅读系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现线上阅读系统演示 摘要 随着社会发展速度的愈来愈快&#xff0c;以及社会压力变化的越来越快速&#xff0c;致使很多人采取各种不同的方法进行解压。大多数人的稀释压力的方法&#xff0c;是捧一本书籍&#xff0c;心情地让自己沉浸在情节里面&#xff0c;以…

基于沁恒微 ch643q 多通道采集 adc 驱动层实现

一、代码 #include "main.h"/********************************************************************** fn ADC_Function_Init** brief Initializes ADC collection.** return none*/ void ADC_Function_Init(void) {ADC_InitTypeDef ADC_InitStructure …

pdffactory pro 8中文破解版

详细介绍 PdfFactory&#xff0c;PDF文档虚拟打印机&#xff0c;无须Acrobat即可创建Adobe PDF文件&#xff0c;创建PDF文件的方法比其他方法更方便和高效。支持将多个文档整合到一个PDF文件、增加字体和便签、PDF加密、去水印、压缩优化。 FinePrint&#xff0c;Windows虚拟…

【踩坑】修复xrdp无法关闭Authentication Required验证窗口

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 问题如下&#xff0c;时不时出现&#xff0c;有时还怎么都关不掉&#xff0c;很烦&#xff1a; 解决方法一&#xff1a;命令行输入 dbus-send --typemethod_call --destorg.gnome.Shell /org/gnome/Shell org.gn…

js 面试题--事件循环event loop--宏任务和微任务

1 事件循环event loop概念&#xff1a; js 是非阻塞单线程语言&#xff0c;js在执行过程中会产生执行环境&#xff0c;执行环境会按顺序添加到执行栈中&#xff0c;先执行同步栈中的任务&#xff0c;当遇到异步任务时会添加到task队列中&#xff0c;同步栈执行完后&#xff0c…

一文读懂什么是 OCR 识别

在数字化时代&#xff0c;信息处理和数据管理是企业运营的重要环节。然而&#xff0c;手工输入信息存在效率低和准确性低的问题&#xff0c;严重影响了企业的工作流程和决策过程。因此&#xff0c;OCR&#xff08;Optical Character Recognition&#xff09;识别技术的应用变得…

mbatis应用到的设计模式

Builder&#xff1a;SqlSessionFactoryBuilder、XMLConfigBuiler、Environment 工厂方法&#xff1a;SqlSessionFactory、TransactionFactory、LogFactory 单例&#xff1a;ErrorContext、LogFactory 代理&#xff1a;mybatis核心&#xff0c;MapperProxy、ConnectionLogger…

【Unity】导入IAP插件后依赖冲突问题 com.android.billingclient冲突

【Unity】Attribute meta-data#com.google.android.play.billingclient.version 多版本库冲突_unity billingclient-CSDN博客 打开mainTemplate.gradle 找到dependencies { } 在里面末尾加上如下&#xff1a; configurations.all {exclude group: com.android.billingclien…

uni-app 实现拍照后给照片加水印功能

遇到个需求需要实现&#xff0c;研究了一下后写了个demo 本质上就是把拍完照后的照片放到canvas里&#xff0c;然后加上水印样式然后再重新生成一张图片 代码如下&#xff0c;看注释即可~使用的话记得还是得优化下代码 <template><view class"content"&g…

单词倒排——c语言解法

以下是题目&#xff1a; 这个题中有三个点&#xff0c; 一个是将非字母的字符转换为空格&#xff0c; 第二是如果有两个连续的空格&#xff0c; 那么就可以将这两个连续的空格变成一个空格。 第三个点就是让单词倒排。 那么我们就可以将这三个点分别封装成三个函数。 还有就是…

iOS-UILabel调整行间距

方法&#xff1a; 封装了以下方法&#xff0c;传入参数调整行间距 - (NSAttributedString *)getAttributedStringWithString:(NSString *)string lineSpace:(CGFloat)lineSpace {NSMutableAttributedString *attributedString [[NSMutableAttributedString alloc] initWithS…

特征融合篇 | YOLOv8 引入通用高效层聚合网络 GELAN | YOLOv9 新模块

今天的深度学习方法专注于如何设计最合适的目标函数,以使模型的预测结果最接近真实情况。同时,必须设计一个合适的架构,以便为预测提供足够的信息。现有方法忽视了一个事实,即当输入数据经过逐层特征提取和空间转换时,会丢失大量信息。本文将深入探讨数据通过深度网络传输…