ubuntu 22.04 升级openssh默认版本8.9p1 到10.1p1

注意使用远程登录工具操作的话多开几个窗口 防止窗口被关了,注意一定要最后才能重启ssh,并在之后新开窗口可以连接才算OK

1.查询服务器版本

cat /etc/os-release

2.查询openssh版本

ssh -V

3.先检查可用更新,然后自动安装所有找到的更新

sudo apt update && sudo apt upgrade -y

4.配置一个具备软件编译能力和处理特定依赖关系的系统环境

sudo apt update && sudo apt install -y build-essential zlib1g-dev libssl-dev libpam0g-dev libselinux1-dev pkg-config curl

5.创建备份目录 为什么新建主要是为了防止升级过程中被删除

sudo mkdir -p /root/openssh_backup

6.备份

6.1 备份 SSH 配置目录

sudo cp -r /etc/ssh /root/openssh_backup/ssh_backup_$(date +%F-%H%M)

6.2 备份 sshd 可执行文件

sudo cp (which sshd) /root/openssh_backup/sshd_(date +%F-%H%M).bak

6.3 保存当前版本信息

ssh -V > /root/openssh_backup/version_before_upgrade.txt

6.4 还原脚本

sudo cp /root/openssh_backup/sshd_2025-11-12-1030.bak /usr/sbin/sshd

sudo cp -r /root/openssh_backup/ssh_backup_2025-11-12-1030/* /etc/ssh/

7.下载 OpenSSH 10.1p1 源码

cd /usr/local/src

sudo curl -O https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.1p1.tar.gz 备用镜像(速度较快) sudo curl -O https://mirror.msys2.org/OpenBSD/OpenSSH/portable/openssh-10.1p1.tar.gz

sudo tar xzf openssh-10.1p1.tar.gz

cd openssh-10.1p1

8.编译安装

8.1 检查系统依赖、生成 Makefile 和编译参数

sudo ./configure \

--prefix=/usr \

--sysconfdir=/etc/ssh \

--with-pam \

--with-privsep-path=/var/lib/sshd

8.2 作用:根据 Makefile 编译 OpenSSH。-j$(nproc) 会使用 CPU 全核并行编译,加快速度。

sudo make -j$(nproc)

8.3 安装

sudo make install

  1. 测试配置文件是否有语法错误 一般重新编译不会覆盖已有的配置文件

sudo sshd -t

10.验证

ssh root@你的服务器IP

或者 ssh -V 输出

root@lavm-ncjsgo9440:/usr/local/src/openssh-10.1p1# ssh -V

OpenSSH_10.1p1, OpenSSL 3.0.2 15 Mar 2022

11.重启 SSH 服务

sudo systemctl restart ssh

sudo systemctl status ssh

相关推荐
骑上单车去旅行23 分钟前
openEuler 22.03 离线源码编译 Zabbix 7.0.27 完整最终整合手册
linux·运维·服务器·zabbix
向日葵.41 分钟前
linux & qnx & git 命令 1
linux·运维·服务器
2023自学中1 小时前
Linux 内核与用户空间 内存管理详解(堆与栈篇)
linux·嵌入式·内存·开发板
似水এ᭄往昔1 小时前
【Linux系统编程】--虚拟地址空间
linux·服务器
不会C语言的男孩1 小时前
Linux 系统编程 · 第 3 章:文件 I/O 基础
linux·服务器
dadaobusi2 小时前
Linux内核完成大量内存/调度/时间子系统初始化的关键阶段
java·linux·前端
唐墨1232 小时前
关于linux kernel错误码为负数编码这件事情,我个人的一些看法
linux·运维·服务器
Full Stack Developme2 小时前
Linux Shell 教程概览
linux·前端·chrome
网络系统管理2 小时前
第八届江苏技能状元大赛选拔赛信息通信网络运行管理项目模块D网络服务与系统运维-Linux样题
linux·运维
凡人叶枫2 小时前
Effective C++ 条款24:若所有参数皆须要类型转换,请为此采用 non-member 函数
linux·前端·c++·算法·嵌入式开发