CentOS 允许远程访问配置指南
CentOS 作为一款流行的开源操作系统,其稳定性和安全性得到了广泛认可,在许多情况下,我们需要远程访问 CentOS 服务器进行管理和维护,本文将详细介绍如何在 CentOS 上配置允许远程访问。
配置步骤
- 开启 SSH 服务
CentOS 默认安装了 SSH 服务,但需要确保其已启动并设置为开机自启。
# 启动 SSH 服务 systemctl start sshd # 设置 SSH 服务开机自启 systemctl enable sshd
- 修改 SSH 配置文件
编辑 SSH 配置文件 /etc/ssh/sshd_config,进行以下修改:
- PermitRootLogin:将
PermitRootLogin no修改为PermitRootLogin yes,允许 root 用户远程登录。 - PasswordAuthentication:将
PasswordAuthentication no修改为PasswordAuthentication yes,允许使用密码认证。 - Port:修改端口号(可选),默认为 22,但为了安全起见,可以修改为一个非标准端口。
# 修改 SSH 配置文件 vi /etc/ssh/sshd_config 示例 PermitRootLogin yes PasswordAuthentication yes Port 2222
- 重启 SSH 服务
修改配置文件后,需要重启 SSH 服务使更改生效。
# 重启 SSH 服务 systemctl restart sshd
- 设置防火墙规则
确保防火墙允许 SSH 服务的访问,以下是在 CentOS 7 中设置防火墙规则的示例:
# 添加 SSH 端口到防火墙规则 firewall-cmd --permanent --add-port=2222/tcp # 重新加载防火墙规则 firewall-cmd --reload
- 生成 SSH 密钥
为了提高安全性,建议使用 SSH 密钥对进行认证。
# 生成 SSH 密钥对 ssh-keygen -t rsa -b 4096 # 将公钥复制到远程服务器 ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@服务器IP
FAQs
Q1:如何查看 SSH 服务的状态?
A1:使用以下命令查看 SSH 服务的状态:
# 查看 SSH 服务状态 systemctl status sshd
Q2:如何禁用密码认证,仅使用密钥认证?
A2:编辑 SSH 配置文件 /etc/ssh/sshd_config,将 PasswordAuthentication no 修改为 PasswordAuthentication yes,然后重启 SSH 服务,之后,确保客户端使用密钥认证连接到服务器。

