我已经尝试了所有解决方法,但仍然无法以 root 身份使用 ssh。我已经将其修改PermitRootLogin
为是,并且重置了ssh
服务。我甚至重新启动了虚拟机,但它就是不起作用。
# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
答案1
默认情况下没有可供登录的“root”帐户。它被锁定在默认安装中。您没有说明您的安装从哪里运行,所以我假设它是从服务器上的远程用户帐户运行的。
你能root
如果需要,可以启用该帐户,但除了启用该帐户之外,还有更多“安全”的方法可以做到这一点。我详细介绍了一些获取root
在系统上运行安装文件的权限的方法。
安全的方法:使用sudo
临时获取root权限让应用程序一次性运行。
假设这是您必须执行的文件,您可以root
通过运行此命令来运行安装程序,并将其替换/path/to/installer
为实际路径:
sudo /path/to/installer
不太安全的方法:使用sudo
进入root
shell 提示符并执行安装命令。
运行此命令将自己置于root
登录状态,然后您就可以以超级用户身份运行命令:
sudo su -
到达这里后,按照无需执行的方式执行命令sudo
:
/path/to/installer
请注意,这是非常危险的事情——如果您不知道在命令行上做什么,那么这种方法实际上可能会破坏您的系统。
一旦完成后,exit
shell 就会返回到您的非特权用户。
极其危险的不安全方式:root
通过设置密码启用账户
警告!
在尝试之前任何使用这些命令时,请注意,通过启用 root 帐户,并允许 Root 通过 ssh 登录时输入“是”而不是“无密码”,即使只是片刻,您的系统也会面临暴力登录尝试和其他安全风险。如果您这样做,那么您应该尽快重新禁用该
root
帐户。要么设置
PermitRootLogin without-password
并配置 SSH 密钥验证,要么明白一旦完成,您应该再次锁定 root 帐户,并设置PermitRootLogin
为no
或without-password
。
最不安全的方法是通过设置密码来启用 root 帐户。您可以对具有sudo
权限的用户使用此命令来执行此操作(但您不必在此处指定“root”):
sudo passwd
设置 root 密码(密码不会显示,也不会显示任何星号,但可以接受密码),然后帐户root
将被激活。然后,您将能够根据您所述的现有 SSH 设置登录该帐户。
当你不再需要用户root
时,请运行此命令以重新禁用并重新锁定已启用帐户root
的用户sudo
:
sudo passwd -l root
当您执行此操作时,您也应该将 设置为PermitRootLogin
或no
。without-password
sshd_config