引言

OpenSSH 是一款广泛使用的安全协议,用于在网络上安全地传输数据。在 CentOS 系统中,安装 OpenSSH 是非常必要的,因为它允许用户通过 SSH 协议远程登录到服务器。本文将详细介绍如何在 CentOS 上安装 OpenSSH 7.6,并进行安全配置,同时解答一些常见问题。

安装 OpenSSH 7.6

1. 检查 CentOS 版本

在安装 OpenSSH 之前,首先需要确认您的 CentOS 版本。OpenSSH 的版本可能会因 CentOS 版本而有所不同。

cat /etc/redhat-release

2. 更新系统软件包

确保您的系统软件包是最新的,以便安装最新的 OpenSSH 版本。

sudo yum update -y

3. 安装 OpenSSH

使用以下命令安装 OpenSSH:

sudo yum install -y openssh-server

4. 启动并使 OpenSSH 服务开机自启

sudo systemctl start sshd
sudo systemctl enable sshd

安全配置

1. 修改 SSH 端口

默认情况下,SSH 服务运行在 22 端口。为了提高安全性,建议修改 SSH 端口。

sudo vi /etc/ssh/sshd_config

找到 Port 行,将其修改为一个新的端口号,例如 Port 2222

Port 2222

保存并退出编辑器。

2. 限制 SSH 登录用户

为了提高安全性,可以限制 SSH 登录用户。在 /etc/ssh/sshd_config 文件中,找到 PermitRootLogin 行,将其修改为 no

PermitRootLogin no

同时,可以添加一个新的用户用于 SSH 登录。

sudo useradd -m -d /home/username -s /bin/bash username
sudo passwd username

3. 修改 SSH 密码认证

虽然使用密钥认证更加安全,但为了演示,这里仍然使用密码认证。

sudo vi /etc/ssh/sshd_config

找到 PasswordAuthentication 行,将其修改为 yes

PasswordAuthentication yes

保存并退出编辑器。

4. 重启 SSH 服务

sudo systemctl restart sshd

常见问题解答

1. SSH 连接失败

如果 SSH 连接失败,请检查以下原因:

  • 确保 SSH 服务正在运行。
  • 确保防火墙规则允许 SSH 端口(默认为 22)。
  • 确保您已修改 /etc/ssh/sshd_config 文件中的 PermitRootLoginPasswordAuthentication 参数。

2. SSH 密钥认证

使用 SSH 密钥认证比密码认证更安全。以下是创建 SSH 密钥的步骤:

ssh-keygen -t rsa -b 4096

将生成的公钥添加到服务器的 ~/.ssh/authorized_keys 文件中。

ssh-copy-id username@server_ip

总结

本文介绍了如何在 CentOS 上安装 OpenSSH 7.6,并进行安全配置。通过修改 SSH 端口、限制 SSH 登录用户和修改 SSH 密码认证,可以提高 SSH 的安全性。如果您遇到任何问题,可以参考本文中的常见问题解答。