网站搜索

如何在 Linux 中禁用 SSH Root 登录


root 帐户通常是 Linux 下黑客通过 SSH 攻击的最有针对性的帐户。 Linux 服务器上启用的 SSH root 帐户暴露在网络中,或者更糟糕的是,暴露在 Internet 中,可能会给系统管理员带来高度的安全问题。

在 Linux 中,在所有情况下都应禁用 SSH root 帐户,以增强服务器安全性。您应该仅使用普通用户帐户通过 SSH 登录远程服务器,然后通过 sudo 或 su 命令将权限更改为 root 帐户。

要禁用 SSH root 帐户,请首先通过发出以下命令,使用具有 root 权限的普通帐户登录到服务器控制台。

su tecmint
sudo su -   # Drop privileges to root account

登录到控制台后,通过发出以下命令打开主 SSH 配置文件,以便使用您喜欢的文本编辑器进行编辑。在大多数 Linux 发行版中,SSH 主配置文件通常位于 /etc/ssh/ 目录中。

vi /etc/ssh/sshd_config

在此文件中,搜索“PermitRootLogin”行并将其更新为如下文件摘录所示。在某些 Linux 发行版上,“PermitRootLogin”行前面有井号标签 (#),表示该行已被注释。在这种情况下,通过删除主题标签来取消注释该行并将该行设置为 no。

PermitRootLogin no

进行上述更改后,保存并关闭文件,然后通过发出以下特定于您的 Linux 发行版的命令之一来重新启动 SSH 守护程序以应用更改。

systemctl restart sshd
service sshd restart
/etc/init.d/ssh restart

为了测试新配置是否已成功应用,请尝试发出以下命令,通过 SSH 从远程系统使用 root 帐户登录服务器。

root 帐户的远程 SSH 登录过程应该会被我们的 SSH 服务器自动拒绝,如下图所示。

就这样!您不应该能够通过密码或公钥身份验证机制使用 root 帐户远程登录 SSH 服务器。