网站搜索

如何禁用或启用 SSH Root 登录并限制 SSH 访问


大家都知道Linux系统具有root用户访问权限,并且默认情况下,为外界启用root访问权限。

出于安全原因,为未经授权的用户启用 ssh root 访问并不是一个好主意。因为任何黑客都可以尝试暴力破解您的密码并访问您的系统。

因此,最好拥有另一个您经常使用的帐户,然后在必要时使用“su –”命令切换到 root 用户。在我们开始之前,请确保您有一个常规用户帐户,并通过该帐户 susudo 来获得 root 访问权限。

Linux中,创建单独的帐户非常容易,以root用户身份登录,然后只需运行adduser命令即可创建单独的用户。创建用户后,只需按照以下步骤禁用通过 SSH 登录。

我们使用sshd主配置文件来禁用root登录,这可能会减少并防止黑客获得root访问您的Linux盒子。我们还了解如何再次启用 root 访问权限,以及如何根据用户列表限制 ssh 访问。

禁用 SSH Root 登录

要禁用 root 登录,请使用您选择的编辑器打开主 ssh 配置文件 /etc/ssh/sshd_config

vi /etc/ssh/sshd_config

在文件中搜索以下行。

#PermitRootLogin no

从行首删除“#”。使线条看起来与此类似。

PermitRootLogin no

接下来,我们需要重新启动SSH守护进程服务。

systemctl restart sshd
OR
/etc/init.d/sshd restart

现在尝试使用 root 用户登录,您将收到“权限被拒绝”错误。

ssh [email 
[email 's password: 
Permission denied, please try again.

因此,从现在开始以普通用户身份登录,然后使用‘su’命令切换到root用户。

ssh [email 
[email 's password:
Last login: Mon Dec 27 15:04:58 2021 from 192.168.0.161

su -
Password:
Last login: Mon Dec 27 15:05:07 IST 2021 on pts/1

启用 SSH 根登录

要启用 ssh root 日志记录,请打开文件 /etc/ssh/sshd_config

vi /etc/ssh/sshd_config

搜索以下行并删除开头的“#”并保存文件。

PermitRootLogin yes

重新启动 sshd 服务。

systemctl restart sshd
OR
/etc/init.d/sshd restart

现在尝试使用 root 用户登录。

ssh [email 
[email 's password:
Last login: Mon Dec 27 15:14:54 2021 from 192.168.0.161

限制 SSH 用户登录

如果您的系统上有大量用户帐户,那么我们将远程 SSH 访问限制为那些真正需要它的用户是有意义的。打开/etc/ssh/sshd_config 文件

vi /etc/ssh/sshd_config

在文件底部添加 AllowUsers 行,并用空格分隔用户名列表。例如,用户 howtoingsheena 都可以访问远程 ssh。

AllowUsers tecmint sheena

现在重新启动 ssh 服务。