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

## 备份新的config

mv /etc/ssh/sshd_config /etc/ssh/sshd_config.default0

## 还原原来的config

cp -a /etc/ssh.20240227/sshd_config /etc/ssh/

2. 还原配置

mv /etc/init.d/ssh.20240227 /etc/init.d/ssh

十、解除锁定、重启ssh

复制代码
systemctl unmask ssh

systemctl restart sshd

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

七、错误处理

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

复制代码
systemctl status sshd

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

下面是错误日志

复制代码
systemctl status sshd
● ssh.service - LSB: OpenBSD Secure Shell server
     Loaded: loaded (/etc/init.d/ssh; generated)
     Active: active (exited) since Tue 2024-02-27 12:41:28 CST; 6s ago
       Docs: 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,那么说明升级成功。

相关推荐
冰封之寂6 小时前
Docker 资源管理终极指南:CPU、内存与 IO 的精细化控制
linux·运维·服务器·docker·云计算
xiaoye-duck6 小时前
《Linux系统编程》Linux 系统多线程(五):<线程同步与互斥>线程互斥(上):从条件变量到生产者消费者模型详解
linux·线程
一叶龙洲8 小时前
向日葵远程Ubuntu,支持隐私屏
linux·运维·ubuntu
酷可达拉斯8 小时前
Linux操作系统-shell编程之Grep与正则表达式
linux·运维·服务器·正则表达式·centos
寒水馨9 小时前
Linux下载、安装llama.cpp-b10068(附安装包llama-b10068-bin-ubuntu-vulkan-x64.tar.gz)
linux·ubuntu·llm·llama·本地部署·llama.cpp·推理引擎
我星期八休息11 小时前
网络编程—UDP与TCP
linux·运维·网络·数据库·网络协议·tcp/ip·udp
ziguo112212 小时前
C/C++ 错误处理全解:从 errno 到 C++ 异常
linux·c语言·c++·windows·visual studio
三84413 小时前
使用Samba/NFS实现文件共享/自动挂载共享目录/autofs自动挂载服务
linux·服务器·网络
高铭杰13 小时前
万物皆可KV(2)SurrealDB 存储布局分析
linux·服务器
无小道14 小时前
深入解析操作系统文件缓冲区:页缓存、基数树与f_pos的协同设计
linux·缓存·文件缓冲区