温馨提示×

centos怎样升级ssh版本

小樊
35
2026-07-19 08:03:24
栏目: 智能运维

CentOS 上升级 OpenSSH 版本,常见有 三种方式,按推荐程度说明。
⚠️ 升级 SSH 有风险,操作前务必确认有控制台/带外管理权限,避免被踢出服务器。


一、最推荐方式:通过官方仓库升级(安全、稳定)

适用于 CentOS 7 / 8 / Stream

1️⃣ 查看当前版本

ssh -V

2️⃣ 升级 OpenSSH(使用系统仓库)

CentOS 7

yum update openssh -y

CentOS 8 / Stream

dnf update openssh -y

升级完成后重启 SSH:

systemctl restart sshd

优点:安全、简单、不会破坏系统
缺点:版本可能不是最新,而是系统维护版本


二、使用第三方仓库升级(较新版本)

适合需要 较新 OpenSSH 但又不想手动编译。

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

yum install -y epel-release

2️⃣ 查看可用版本

yum info openssh

3️⃣ 升级

yum update openssh -y
systemctl restart sshd

三、手动编译升级(最新版本,风险较高)

⚠️ 生产环境慎用

1️⃣ 安装依赖

CentOS 7

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

CentOS 8

dnf groupinstall "Development Tools" -y
dnf install -y gcc openssl-devel pam-devel zlib-devel

2️⃣ 下载 OpenSSH 源码

(示例为 9.6p1,请到官网确认最新版)

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️⃣ 编译安装

./configure \
--prefix=/usr \
--sysconfdir=/etc/ssh \
--with-pam \
--with-zlib \
--with-ssl-engine

make
make install

4️⃣ 重启 SSH

systemctl restart sshd

✅ 查看新版本:

ssh -V

⚠️ 注意

  • 编译安装 可能覆盖系统 SSH
  • 某些系统更新后可能失效
  • 建议先备份 /etc/ssh

四、升级前必做安全检查 ✅

cp -r /etc/ssh /etc/ssh.bak
cp /etc/pam.d/sshd /etc/pam.d/sshd.bak

确保:

  • 控制台 / IPMI / 云服务器 VNC
  • 不要断开当前 SSH 连接
  • 新开一个 SSH 会话测试

五、常见问题

❓ 升级后无法登录

  • 检查 /etc/ssh/sshd_config
  • 确认 PermitRootLoginPasswordAuthentication
  • 查看日志:
journalctl -u sshd -xe

六、建议总结

场景 推荐方式
生产服务器 ✅ 系统仓库升级
需要较新版本 ✅ EPEL / 官方仓库
最新特性 ⚠️ 手动编译

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

  • CentOS 具体版本
  • 当前 SSH 版本
  • 是否生产环境

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

0