温馨提示×

CentOS怎么更新SSH版本

小樊
82
2026-08-18 06:41:43
栏目: 智能运维

CentOS 上升级 / 更新 OpenSSH 版本,常见有几种方式,取决于你的 CentOS 版本(6/7/8/Stream)以及是否允许从源码编译。下面按推荐程度给你说明。


一、先确认当前版本

ssh -V
rpm -qa | grep openssh

二、方式一(✅ 推荐):通过系统仓库更新(最安全)

适用于 CentOS 7 / 8 / Stream

1️⃣ 更新系统

yum update -y

或(CentOS 8 / Stream)

dnf update -y

2️⃣ 更新 OpenSSH

yum update openssh openssh-server openssh-clients -y

3️⃣ 重启 SSH 服务

systemctl restart sshd

优点

  • 稳定、安全
  • 不会破坏系统依赖

⚠️ 注意

  • 仓库里的版本通常不是最新版,而是“安全维护版”
  • 这是生产环境最推荐的方式

三、方式二:启用第三方仓库(较新版本)

1️⃣ 安装 EPEL(如果未安装)

yum install -y epel-release

2️⃣ 更新 SSH

yum update openssh*

四、方式三(⚠️ 不推荐生产环境):源码编译最新版

适合需要 最新 OpenSSH(如 9.x) 的情况

1️⃣ 安装依赖

yum groupinstall "Development Tools" -y
yum install -y openssl-devel pam-devel zlib-devel

2️⃣ 下载 OpenSSH 源码

cd /usr/local/src
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz
tar -zxvf openssh-9.6p1.tar.gz
cd openssh-9.6p1

3️⃣ 编译安装(⚠️ 不要覆盖 /usr/bin/ssh)

./configure --prefix=/usr/local/openssh \
--sysconfdir=/etc/ssh \
--with-pam --with-zlib --with-ssl-dir=/usr

make && make install

4️⃣ 替换旧版本(谨慎)

mv /usr/sbin/sshd /usr/sbin/sshd.bak
ln -s /usr/local/openssh/sbin/sshd /usr/sbin/sshd

5️⃣ 重启 SSH

systemctl restart sshd

⚠️ 风险

  • 可能导致 无法 SSH 登录
  • 升级失败可能直接断连
  • 建议先开 控制台 / IPMI / VNC

五、CentOS 6(已停止维护)

强烈不建议继续用 CentOS 6

如果你还在用:

  • 建议迁移到 CentOS 7 / Rocky / AlmaLinux
  • 或只能使用源码升级(风险极高)

六、升级 SSH 前必做(非常重要)

✅ 保留一个 SSH 会话不要断开
✅ 开启 telnet / 控制台
✅ 备份配置

cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

七、版本建议(安全)

系统 推荐 SSH 版本
CentOS 7 7.4p1+
CentOS 8 8.x
最新需求 9.x(源码)

如果你愿意,可以告诉我:

  • ✅ CentOS 具体版本(cat /etc/centos-release
  • ✅ 升级目的(安全 / 新特性 / 合规)
  • ✅ 是否是生产服务器

我可以给你 最合适、最安全的升级方案

0