温馨提示×

CentOS SSH升级步骤是什么

小樊
41
2025-10-17 09:56:31
栏目: 智能运维

CentOS SSH升级步骤

1. 升级前准备

  • 备份配置文件:升级前务必备份SSH配置文件,防止配置丢失或出错无法恢复。
    命令:sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  • 检查当前版本:确认当前SSH服务器版本,便于后续验证升级结果。
    命令:ssh -V(输出示例:OpenSSH_8.0p1-6.el8.x86_64,包含版本及发行版信息)

2. 更新系统软件包

升级前更新系统软件包,解决潜在依赖问题,确保升级过程顺利。
命令:sudo yum update -y(CentOS 7/8通用,自动更新所有可升级的软件包)

3. 安装/升级OpenSSH Server

根据系统版本选择对应方式安装或升级OpenSSH Server(SSH服务端):

  • CentOS 7/8常规方法:通过系统默认仓库安装最新可用版本。
    命令:sudo yum install openssh-server -y(若已安装,此命令会自动升级到仓库中的最新版本)
  • CentOS 7添加EPEL仓库(获取更旧版本的新特性):若默认仓库版本过旧,可添加EPEL(Extra Packages for Enterprise Linux)仓库。
    命令:sudo yum install epel-release -y;启用EPEL仓库:sudo yum-config-manager --enable epel;再执行sudo yum install openssh-server -y

4. 重启SSH服务

安装/升级完成后,重启SSH服务使新版本生效。
命令:sudo systemctl restart sshd(CentOS 7/8均适用,重启服务不会中断现有连接)

5. 验证升级结果

确认SSH版本已更新,确保升级成功。
命令:ssh -V(输出应显示新版本号,如升级前为OpenSSH_7.4p1,升级后可能变为OpenSSH_8.0p1

6. 可选:配置防火墙(若启用)

若服务器启用了firewalld防火墙,需确保SSH端口(默认22)开放,允许远程连接。
命令:sudo firewall-cmd --permanent --add-service=ssh(永久开放SSH端口);sudo firewall-cmd --reload(重新加载防火墙规则,使变更生效)

7. 可选:手动编译安装特定版本(非必需)

若系统仓库中没有所需版本,可通过手动下载源码编译安装(需具备一定技术能力):

  • 下载源码:访问OpenSSH官方网站(如https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/),下载所需版本的源码包(如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.6p1sudo yum groupinstall "Development Tools" -y(安装开发工具链);sudo yum install zlib-devel openssl-devel pam-devel -y(安装OpenSSH依赖)
  • 配置与编译:配置编译选项并编译安装。
    命令:./configure --prefix=/usr/local/openssh --with-pam(指定安装路径及启用PAM认证);make(编译源码);sudo make install(安装到指定路径)
  • 替换旧版本与服务配置:备份旧版本二进制文件,创建新版本符号链接,并更新系统服务。
    命令:sudo mv /usr/sbin/sshd /usr/sbin/sshd.old(备份旧sshd);sudo ln -s /usr/local/openssh/sbin/sshd /usr/sbin/sshd(创建新sshd符号链接);编辑/etc/init.d/sshd文件,将sshd路径修改为新路径(如/usr/local/openssh/sbin/sshd
  • 重启服务与验证:重启SSH服务并验证版本。
    命令:sudo systemctl restart sshdssh -V(确认新版本生效)

0