温馨提示×

Ubuntu SSH如何限制用户登录

小樊
113
2025-03-22 09:38:58
栏目: 智能运维

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

方法一:使用sshd_config文件

  1. 编辑sshd_config文件: 打开终端并使用文本编辑器(如nanovim)编辑/etc/ssh/sshd_config文件:

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

    • 限制特定用户登录:

      AllowUsers user1 user2 user3
      

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

    • 限制特定IP地址访问:

      AllowUsers user1@192.168.1.1 user2@192.168.1.2
      

      这将只允许来自192.168.1.1192.168.1.2user1user2用户登录。

    • 禁止特定用户登录:

      DenyUsers user4 user5
      

      这将禁止user4user5用户通过SSH登录。

  3. 保存并退出编辑器

    • 如果使用nano,按Ctrl+O保存,然后按Ctrl+X退出。
    • 如果使用vim,按Esc键,然后输入:wq保存并退出。
  4. 重启SSH服务

    sudo systemctl restart sshd
    

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

  1. 安装PAM模块: 确保你已经安装了pam_listfile模块:

    sudo apt-get install libpam-listfile
    
  2. 创建PAM配置文件: 创建一个新的PAM配置文件,例如/etc/pam.d/sshd

    sudo nano /etc/pam.d/sshd
    
  3. 添加以下内容

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

    这将读取/etc/ssh/denied_users文件中的用户列表,并拒绝这些用户的登录。

  4. 创建拒绝用户列表文件: 创建并编辑/etc/ssh/denied_users文件:

    sudo nano /etc/ssh/denied_users
    

    在文件中添加你想要拒绝登录的用户:

    user4
    user5
    
  5. 保存并退出编辑器

    • 如果使用nano,按Ctrl+O保存,然后按Ctrl+X退出。
    • 如果使用vim,按Esc键,然后输入:wq保存并退出。
  6. 重启SSH服务

    sudo systemctl restart sshd
    

通过以上方法,你可以有效地限制特定用户通过SSH登录Ubuntu系统。根据你的具体需求选择合适的方法进行配置。

0