centos

如何限制centos ssh访问

小樊
65
2025-03-09 09:47:30
栏目: 智能运维

要限制 CentOS 上的 SSH 访问,您可以采取以下措施:

  1. 更改默认 SSH 端口: 编辑 /etc/ssh/sshd_config 文件,找到 #Port 22 这一行,取消注释并更改端口号。例如,将其更改为 Port 2222。然后重启 SSH 服务:

    sudo systemctl restart sshd
    
  2. 禁用 root 登录: 在 /etc/ssh/sshd_config 文件中,找到 PermitRootLogin 这一行,将其值更改为 no。这将禁止使用 root 用户登录。

    PermitRootLogin no
    
  3. 使用公钥认证: 在客户端生成 SSH 密钥对(如果尚未生成),然后将公钥添加到服务器上的 ~/.ssh/authorized_keys 文件中。在 /etc/ssh/sshd_config 文件中,确保以下设置已启用:

    PubkeyAuthentication yes
    PasswordAuthentication no
    

    这将禁用密码登录,只允许使用密钥对进行身份验证。

  4. 限制允许访问的用户: 在 /etc/ssh/sshd_config 文件中,使用 AllowUsers 设置允许访问的用户。例如:

    AllowUsers user1 user2
    

    这将仅允许 user1user2 用户通过 SSH 访问服务器。

  5. 使用防火墙限制 IP 地址访问: 如果您使用的是 firewalld,可以添加一个规则以仅允许特定 IP 地址访问 SSH 端口。例如,要仅允许 IP 地址为 192.168.1.100 的用户访问 SSH,请运行以下命令:

    sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="2222" accept'
    sudo firewall-cmd --reload
    

请注意,这些方法并非绝对安全,但它们可以大大提高您的 CentOS 服务器上 SSH 访问的安全性。

0
看了该问题的人还看了