root帐户通常是在Linux下通过SSH进行的最有针对性的帐户。 在暴露于网络的Linux服务器上启用的SSH root帐户,或者更糟糕的是,暴露在Internet中可能会引起系统管理员高度的安全性问题。
为了加强服务器的安全性,在Linux的所有情况下都应该禁用SSH root帐户。 您应该通过SSH在远程服务器上以普通用户帐户登录,然后通过sudo或su命令将权限更改为root帐户。
要禁用SSH root帐户,首先通过发出以下命令以具有root权限的普通帐户登录到您的服务器控制台。
$ su youcl $ 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守护程序,以发出以下某个特定于您的Linux发行版的命令来应用更改。
# systemctl restart sshd # service sshd restart # /etc/init.d/ssh restart
为了测试新配置是否成功应用,请尝试使用root帐户通过SSH从远程系统登录到服务器,方法是发出以下命令。
根帐户的远程SSH登录过程应该被我们的SSH服务器自动拒绝,如下图所示。
SSH root登录被拒绝
就这样! 您不能通过密码或通过公钥认证机制远程登录到SSH服务器。