centos

如何限制CentOS SSH访问权限

小樊
53
2025-03-11 10:06:04
栏目: 智能运维

要限制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用户通过SSH登录。然后重启SSH服务以使更改生效:

    sudo systemctl restart sshd
    
  3. 限制允许登录的用户: 在/etc/ssh/sshd_config文件中找到AllowUsers这一行,指定允许登录的用户。例如:

    AllowUsers user1 user2 user3
    

    如果该行以#开头,请取消注释。然后重启SSH服务以使更改生效:

    sudo systemctl restart sshd
    
  4. 使用防火墙限制IP访问: 如果您使用的是firewalld,可以通过以下命令限制允许访问SSH的IP地址:

    sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="允许的IP地址" port protocol="tcp" port="22" accept'
    sudo firewall-cmd --reload
    

    允许的IP地址替换为您希望允许访问SSH的IP地址。

  5. 使用Fail2ban限制暴力破解攻击: Fail2ban可以监控SSH登录尝试,并在检测到多次失败尝试后暂时封禁IP地址。要安装Fail2ban,请运行:

    sudo yum install epel-release
    sudo yum install fail2ban
    

    然后启动Fail2ban服务并设置开机启动:

    sudo systemctl start fail2ban
    sudo systemctl enable fail2ban
    

    接下来,创建一个新的Fail2ban配置文件/etc/fail2ban/jail.local,并添加以下内容以配置SSH限制:

    [sshd]
    enabled = true
    port = 22
    filter = sshd
    logpath = /var/log/secure
    maxretry = 3
    bantime = 600
    

    这将限制在10分钟内尝试登录失败3次的IP地址,封禁时间为600秒。您可以根据需要调整这些参数。

采取这些措施后,您的CentOS服务器上的SSH访问权限将受到限制,从而提高安全性。

0
看了该问题的人还看了