您的位置:

CentOS 7 升级 OpenSSH

一、什么是 OpenSSH?

OpenSSH 是一套应用于 Unix 和 Linux 操作系统的免费、开放源码的安全连接工具,可以为远程登录提供加密通道,是 Linux 系统中常用的工具。

二、为什么要升级 OpenSSH?

OpenSSH 经常会受到攻击,而且旧版本有各种漏洞,因此及时升级 OpenSSH 可以增强系统的安全性。

三、升级 OpenSSH 的步骤

1. 确认 OpenSSH 版本

使用命令 ssh -V 可以查看系统当前的 OpenSSH 版本。

[root@centos7 ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

2. 下载 OpenSSH 新版本

从官方网站 https://www.openssh.com/ 下载最新版本的 OpenSSH。

[root@centos7 ~]# wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.3p1.tar.gz

3. 解压 OpenSSH 文件

使用 tar 命令将下载下来的文件解压到指定目录。

[root@centos7 ~]# tar zxvf openssh-8.3p1.tar.gz && cd openssh-8.3p1

4. 编译安装 OpenSSH 新版本

进入 openssh 文件夹,执行以下命令,进行编译安装 OpenSSH。

[root@centos7 openssh-8.3p1]# ./configure && make && make install

5. 备份配置文件

在升级前备份当前的 sshd_config 文件。

[root@centos7 ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

6. 修改配置文件

用文本编辑器打开 sshd_config 文件,将以下配置信息加入到文件的末尾。

Ciphers aes256-cbc,aes192-cbc,aes128-cbc
MACs hmac-sha1,umac-64@openssh.com,hmac-ripemd160
UsePrivilegeSeparation sandbox
KexAlgorithms diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512
Subsystem       sftp    /usr/libexec/openssh/sftp-server
PermitRootLogin no
AllowUsers user1 user2

7. 重启 sshd 服务

执行以下命令,重启 sshd 服务。

[root@centos7 ~]# systemctl restart sshd

四、常见问题

1. 编译时出现错误

在编译时,可能出现一些错误,这些错误一般是由于缺少依赖包导致的。可以使用以下命令来安装依赖包。

[root@centos7 ~]# yum install -y zlib-devel openssl-devel pam-devel

2. 升级后无法登录

升级后如果无法登录,很可能是之前的配置文件的设置与新版本的 OpenSSH 发生了冲突。可以对比备份的 sshd_config 文件和新版本中的 sshd_config 文件,修改配置文件中的相应选项。

3. 升级后启动服务失败

如果升级后无法启动服务,可以先查看服务日志,找到具体的错误信息,然后根据错误信息进行调整。

[root@centos7 ~]# journalctl -xe

五、总结

通过升级 OpenSSH 可以增强 Centos7 的安全性,需要注意备份配置文件和依赖包的安装。