首页主机资讯Ubuntu SSH如何限制用户访问权限

Ubuntu SSH如何限制用户访问权限

时间2025-11-04 20:18:04发布访客分类主机资讯浏览750
导读:在Ubuntu系统中,通过SSH限制用户访问权限可以通过以下几种方法实现: 1. 使用sshd_config文件 编辑/etc/ssh/sshd_config文件来配置SSH服务器的行为。 sudo nano /etc/ssh/sshd_c...

在Ubuntu系统中,通过SSH限制用户访问权限可以通过以下几种方法实现:

1. 使用sshd_config文件

编辑/etc/ssh/sshd_config文件来配置SSH服务器的行为。

sudo nano /etc/ssh/sshd_config

在文件中添加或修改以下配置:

  • 限制用户登录

    AllowUsers user1 user2 user3
    

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

  • 限制用户组登录

    AllowGroups group1 group2
    

    这将只允许group1group2组的用户通过SSH登录。

  • 禁止root登录

    PermitRootLogin no
    
  • 限制特定IP地址访问

    AllowUsers user1@192.168.1.1 user2@192.168.1.2
    

2. 使用PAM(Pluggable Authentication Modules)

PAM可以用来进一步细化用户的认证和授权策略。

编辑/etc/pam.d/sshd文件:

sudo nano /etc/pam.d/sshd

添加或修改以下行:

auth required pam_listfile.so item=user sense=allow file=/etc/ssh/allowed_users onerr=succeed

然后创建或编辑/etc/ssh/allowed_users文件,列出允许登录的用户:

sudo nano /etc/ssh/allowed_users

在文件中添加用户名,每行一个:

user1
user2
user3

3. 使用防火墙

使用ufw(Uncomplicated Firewall)来限制SSH访问。

启用ufw

sudo ufw enable

允许特定IP地址访问SSH:

sudo ufw allow from 192.168.1.1 to any port 22
sudo ufw allow from 192.168.1.2 to any port 22

拒绝所有其他IP地址访问SSH:

sudo ufw deny 22

4. 使用SELinux或AppArmor

如果系统启用了SELinux或AppArmor,可以利用这些安全模块来进一步限制用户的访问权限。

SELinux

编辑/etc/selinux/config文件:

sudo nano /etc/selinux/config

SELINUX=enforcing改为SELINUX=disabled(如果不需要SELinux)。

AppArmor

编辑/etc/apparmor.d/usr.sbin.sshd文件:

sudo nano /etc/apparmor.d/usr.sbin.sshd

添加或修改规则来限制用户的访问权限。

5. 使用SSH密钥认证

使用SSH密钥认证可以增加安全性,并且可以结合上述方法进一步限制用户访问。

生成SSH密钥对:

ssh-keygen -t rsa -b 4096

将公钥复制到目标用户的~/.ssh/authorized_keys文件中:

ssh-copy-id user1@192.168.1.1

通过这些方法,你可以有效地限制Ubuntu系统中用户的SSH访问权限,提高系统的安全性。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu SSH如何限制用户访问权限
本文地址: https://pptw.com/jishu/742244.html
如何解决Linux中PHP-FPM启动失败 PHP-FPM日志级别在Linux如何设置

游客 回复需填写必要信息