温馨提示×

CentOS SSH如何限制用户登录

小樊
65
2025-06-06 01:06:17
栏目: 智能运维

在CentOS系统中,可以通过配置SSH服务来限制用户登录。以下是一些常见的方法:

方法一:使用sshd_config文件

  1. 编辑sshd_config文件: 打开终端并以root用户身份编辑/etc/ssh/sshd_config文件。

    sudo vi /etc/ssh/sshd_config
    
  2. 添加或修改以下配置

    • 限制特定用户登录

      AllowUsers user1 user2 user3
      

      这将只允许user1user2user3用户通过SSH登录。

    • 限制特定IP地址登录

      AllowUsers user1@192.168.1.1 user2@192.168.1.2
      

      这将只允许来自特定IP地址的用户登录。

    • 拒绝特定用户登录

      DenyUsers user4 user5
      

      这将拒绝user4user5用户通过SSH登录。

  3. 保存并退出编辑器: 按Esc键,然后输入:wq并按回车键保存并退出。

  4. 重启SSH服务: 使配置生效,需要重启SSH服务。

    sudo systemctl restart sshd
    

方法二:使用PAM(Pluggable Authentication Modules)

  1. 编辑PAM配置文件: 打开终端并以root用户身份编辑/etc/pam.d/sshd文件。

    sudo vi /etc/pam.d/sshd
    
  2. 添加或修改以下行

    • 限制特定用户登录

      auth required pam_listfile.so item=user sense=deny file=/etc/ssh/denied_users onerr=succeed
      

      然后在/etc/ssh/denied_users文件中添加要拒绝的用户列表。

      user4
      user5
      
    • 限制特定IP地址登录: 这种方法较为复杂,通常不推荐使用PAM来限制IP地址。

  3. 保存并退出编辑器: 按Esc键,然后输入:wq并按回车键保存并退出。

  4. 重启SSH服务: 使配置生效,需要重启SSH服务。

    sudo systemctl restart sshd
    

方法三:使用防火墙

  1. 编辑防火墙规则: 打开终端并以root用户身份编辑防火墙配置文件。

    sudo vi /etc/firewalld/zones/public.xml
    
  2. 添加或修改以下规则

    • 限制特定IP地址访问SSH端口(默认22)
      <rule family="ipv4">
        <source address="192.168.1.1"/>
        <port protocol="tcp" port="22"/>
        <accept/>
      </rule>
      <rule family="ipv4">
        <source address="192.168.1.2"/>
        <port protocol="tcp" port="22"/>
        <accept/>
      </rule>
      
  3. 重新加载防火墙配置

    sudo firewall-cmd --reload
    

通过以上方法,你可以有效地限制CentOS系统中的用户登录。选择适合你需求的方法进行配置即可。

0