温馨提示×

centos怎样更新ssh版本

小樊
53
2026-09-08 17:36:36
栏目: 智能运维

在 CentOS 上“更新 SSH 版本”通常指更新 OpenSSH(CentOS 自带的服务一般叫 openssh-server)。下面按推荐程度给你几种做法。


一、最推荐:用 yum 更新系统自带的 OpenSSH(安全稳定)

CentOS 官方仓库里的 OpenSSH 虽然不是最新大版本,但会持续打安全补丁,生产环境最稳妥。

1. 查看当前版本

ssh -V
rpm -qa | grep openssh

2. 更新 OpenSSH

sudo yum update openssh openssh-server openssh-clients

或一次性更新所有安全补丁:

sudo yum update

3. 重启 sshd

sudo systemctl restart sshd
sudo systemctl enable sshd

✅ 适合:生产服务器、不想折腾编译的人


二、CentOS 7 想用较新 OpenSSH:启用 ELRepo / IUS(有限)

CentOS 7 官方 OpenSSH 很老(7.4),如果你想稍新一点:

1. 添加 IUS 仓库(示例)

sudo yum install https://repo.ius.io/ius-release-el7.rpm

2. 安装新版本

sudo yum install openssh-server openssh-clients

⚠️ 注意:

  • 不一定是最新主线版本
  • 仍需测试 sshd 配置兼容性

三、手动编译最新 OpenSSH(不推荐新手)

如果你必须用最新版(如 OpenSSH 9.x):

1. 安装依赖

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

2. 下载并编译

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

./configure --prefix=/usr --sysconfdir=/etc/ssh
make
sudo make install

3. 重启

sudo systemctl restart sshd

⚠️ 风险:

  • 可能破坏 yum / ssh 登录
  • 不与系统包管理兼容
  • 需自己维护升级

✅ 建议:仅测试环境或特殊需求


四、重要安全提醒(非常关键)

✅ 更新前:

sudo cp -r /etc/ssh /etc/ssh.bak

✅ 不要断开当前 SSH 连接
✅ 建议开启 第二个会话或 console 访问


五、如何判断要不要升级?

情况 建议
只是安全补丁 yum update ✅
CentOS 7 老版本 可接受官方版
需要 SSH 新特性 编译或换系统
生产环境 不建议手动编译

如果你告诉我:

  • CentOS 版本(6 / 7 / 8 / Stream)
  • 当前 OpenSSH 版本
  • 是生产还是测试环境

我可以给你最合适、最安全的具体命令。

0 踩