如何允许或拒绝SSH访问Linux服务器特定用户或组
在本文中我们将简单介绍如何允许或拒绝SSH访问Linux中某个用户或组的步骤。通过修改SSH默认配置文件来启用或禁用用户或组的SSH访问。
允许或拒绝SSH访问Linux中的特定用户或组。
openSSH默认配置文件有两个指令,用于允许和拒绝SSH对特定用户或组的访问。首先,让我们看看如何允许或启用SSH访问一个用户和组。请注意,下面给出的所有命令都应该以root或sudo用户的身份运行。
1. 允许SSH访问用户或组
要允许一个特定的用户(例如sk)访问SSH,请编辑sshd_config文件。
$ sudo vi /etc/ssh/sshd_config
按 "i "键进入插入模式,并添加或修改以下行。
AllowUsers sk
用您的用户名代替"sk"。请注意 "AllowUsers "和 "sk "之间的空格。你应该使用Tab键而不是空格键。意思是--添加 "AllowUsers",然后按Tab键,再指定用户名。
你也可以指定多个用户,如下图所示。
AllowUsers user1 user2
如果要允许整个组,比如说root,可以添加/编辑下面这行。
AllowGroups root
此设置将允许 "root "组的所有成员与Linux服务器进行ssh连接。
按ESC键退出插入模式,并输入:wq保存并退出SSH配置文件。重新启动SSH服务以使更改生效。
$ sudo systemctl restart sshd
现在,用户sk和 "root "组的所有成员都被允许通过ssh进入你的Linux服务器,其他用户(除了sk和 "root "组的成员)不允许通过ssh访问系统。其他用户(除了sk和 "root "组的成员)不允许通过ssh访问系统。
要验证这一点,请尝试以任何一个非允许用户的身份进入Linux服务器。
$ ssh a5idc@192.168.225.52 试试以任何一个非允许用户的身份进入Linux服务器.
你会得到错误信息。
2. 拒绝SSH对用户或组的访问
要禁用或拒绝SSH对用户或组的访问,你需要在远程服务器的sshd_config文件中添加/修改以下指令。
DenyUsers
DenyGroups
要拒绝SSH访问名为 "sk "的特定用户,编辑sshd_config文件。
$ sudo vi /etc/ssh/sshd_config
在sshd_config文件中添加/编辑以下一行。
DenyUsers sk
确保空格缩进正确。不要使用空格键。按Tab键,添加用户名。
同样,要拒绝SSH访问多个用户,指定用户名时要用空格隔开,如下图所示。
DenyUsers user1 user2
同样,要拒绝SSH对整个组的访问,例如root,可以添加。
DenyGroups root
保存并退出ssh配置文件。重启ssh服务以使更改生效。
$ sudo systemctl restart sshd
现在尝试从被封锁的用户账户ssh到你的Linux机器,例如sk。
$ ssh sk@192.168.225.52
你将会看到错误提示,让你再试一次的提示。
3. 禁用SSH Root登录
在安全方面,Root ssh访问被认为是一种不好的做法。所以强烈建议禁用SSH Root用户登录,以保护系统安全。
要禁用 root ssh 登录,编辑 sshd_config 文件。
$ sudo vi /etc/ssh/sshd_config
找到下面这行,删除注释,并将其设置为no。
PermitRootLogin no
重启SSH服务以立即生效。
$ sudo systemctl restart sshd
你现在知道了如何在Linux服务器中授予和限制特定用户或组的SSH访问权限,你也学会了如何在Linux服务器中拒绝或禁用SSH root登录。这是每个Linux服务器管理员在设置Linux服务器时应该实施的安全实践之一。