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
9. 测试配置文件是否有语法错误 一般重新编译不会覆盖已有的配置文件
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
