如何在Linux中禁用SSH root登录

为了加强安全性,应禁用SSH root访问权限。您只能使用普通用户通过SSH登录远程服务器,然后切换到root用户。

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

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

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

$ su howtoing
$ sudo su -   # Drop privileges to root account

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

# vi /etc/ssh/sshd_config

在这个文件中,搜索“ PermitRootLogin ”行并更新下面的文件摘录中的行。 在一些Linux发行版上,“ PermitRootLogin ”行前面加上(#)标签,表示该行被注释。 在这种情况下,通过删除标签符号来取消注释行,并将行设置为no。

PermitRootLogin no
禁用SSH root登录

禁用SSH root登录

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

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

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

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

SSH root登录被拒绝

SSH root登录被拒绝

就这样! 您不能通过密码或通过公钥认证机制远程登录到SSH服务器。