上一篇 下一篇 分享链接 返回 返回顶部

如何允许或拒绝SSH访问Linux服务器特定用户或组

发布人:Minchunlin 发布时间:2021-01-17 11:35 阅读量:1237

在本文中我们将简单介绍如何允许或拒绝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服务器时应该实施的安全实践之一。

目录结构
全文