为什么要禁用根ssh登录?因为每个Linux服务器都有一个root用户。如果您允许root用户使用ssh登录,黑客可能会试图强行使用您的root密码。但如果您创建另一个用户并禁用根ssh登录,黑客就不知道您的用户名,所以暴力攻击是无用的。新包装的用户可以使用sudo或su进行系统管理。
本教程将向您展示如何创建可以使用su或sudo的用户帐户,以及如何在CentOS/Redhat上禁用root ssh登录。
创建一个新的用户帐户
1.使用以下命令创建用户帐户。在本例中,我将使用用户名newuser。adduser命令将创建用户、初始组及其主目录。
adduser newuser
2.为用户设置密码。你必须输入两次密码。
passwd newuser
3.现在验证您可以使用新用户帐户通过ssh登录。默认情况下,新创建的用户可以使用su命令切换到root。
[[email protected] ~]$ su - Password: [[email protected] ~]$ whoami root
如果由于某种原因无法使用su命令,请将用户添加到控制盘组。
usermod -G wheel newuser
4.但它不能使用sudo命令。如果希望用户帐户使用sudo命令,请以root用户身份执行以下命令:
yum install sudo echo 'newuser ALL=(ALL) ALL' >> /etc/sudoers
5.现在验证用户帐户是否可以使用sudo命令。
禁用根用户的SSH登录
现在您有了一个单独的用户帐户,可以使用su或sudo来获得root权限,是时候禁用root ssh登录了。首先用你最喜欢的文本编辑器编辑/etc/ssh/sshd_配置文件。我喜欢使用vi编辑器。
vi /etc/ssh/sshd_config
找到以下行:
#PermitRootLogin yes
将其更改为:
PermitRootLogin no
保存文件。现在,检查您的新用户帐户是否可以通过ssh登录非常重要,因为我们将重新启动ssh服务,之后您将无法再通过ssh以root用户身份登录。
systemctl restart ssh
现在只有新用户帐户可以通过ssh登录。如果您尝试以root用户身份ssh登录,即使您键入的密码正确,您仍然会收到一个“权限拒绝”错误。