CentOS SSH版本升级指南
sudo cp -r /etc/ssh /etc/ssh_backup # 备份整个SSH配置目录
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup # 单独备份配置文件
ssh -V
输出示例:OpenSSH_8.0p1, OpenSSL 1.1.1k FIPS 25 Mar 2021。适用于CentOS 7/8/9等版本,优先选择此方式(更安全、便捷)。
sudo yum update -y
sudo dnf install openssh-server -y
sudo yum install openssh-server -y
sudo systemctl restart sshd
ssh -V
若版本号更新,则表示升级完成。若yum仓库中没有所需版本,可手动下载源码编译安装。
安装编译依赖
编译前需安装开发工具及依赖库:
sudo yum groupinstall "Development Tools" -y
sudo yum install zlib-devel openssl-devel pam-devel -y
下载并解压源码
访问OpenSSH官网(如OpenBSD OpenSSH)下载所需版本,例如openssh-9.6p1.tar.gz:
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz
tar -xzvf openssh-9.6p1.tar.gz
cd openssh-9.6p1
配置与编译
指定安装路径(如/usr/local/openssh),避免覆盖系统文件:
./configure --prefix=/usr/local/openssh --with-pam --with-zlib --with-ssl-dir=/usr/lib64/openssl
make
sudo make install
替换旧版本二进制文件
备份旧版本后,替换为编译生成的文件:
sudo mv /usr/sbin/sshd /usr/sbin/sshd.old
sudo ln -s /usr/local/openssh/sbin/sshd /usr/sbin/sshd
sudo cp ssh /usr/bin/ssh # 替换客户端命令(可选)
重启服务并验证
sudo systemctl restart sshd
ssh -V # 确认版本更新
更新系统启动脚本
确保系统启动时加载新版本:
sudo systemctl daemon-reload
```。
ssh username@your_server_ip
/etc/ssh/sshd_config中的配置项与新版本兼容(如PasswordAuthentication、PermitRootLogin等),避免因配置错误导致无法登录。sudo systemctl stop sshd
sudo cp /etc/ssh_backup/sshd_config /etc/ssh/sshd_config
sudo cp /etc/ssh_backup/ssh_host_* /etc/ssh/
sudo systemctl start sshd