权限被拒绝,请重试 ssh 错误

权限被拒绝,请重试 ssh 错误

我拥有服务器的 root 访问权限,并且通过 ssh 登录。我在自己的服务器上执行了此操作

AllowUsers john

/etc/ssh/sshd_config

在此文件中。

现在我重新启动了服务器。现在我无法通过 root 用户登录,也无法通过 john 登录。什么都不起作用。请帮忙?

我的根用户是这样的root@ip

如果我尝试ssh root@ip通过 root 登录,它会显示以下信息

权限被拒绝,请重试。

如果我尝试用 john 登录,它会说

您的帐户未启用 Shell 访问权限!如果您需要 Shell 访问权限,请联系支持人员。

我不明白为什么我无法通过我的 root 帐户登录。

注意:我可以通过 WHM 成功登录

答案1

另请注意:允许用户指定仅允许与此关键字列出的模式匹配的用户名登录。默认情况下,允许所有用户名登录。因此,使用您的配置,约翰是唯一可以使用 ssh 登录的用户。

Sebastian Stark 的回答也是正确的:默认情况下,root 无法登录,即使你将 root 包含在内允许用户

因此:我建议,首先,确保用户约翰可以正确登录。确保约翰分配了一个 shell /etc/passwd,并在必要时给他一个使用chsh。然后以以下身份登录约翰如果需要 root 访问权限,请使用 sudo。

答案2

默认情况下,使用密码以 root 身份登录是被禁用的。如果这是您想要的,您应该相应地更改设置PermitRootLogin/etc/ssh/sshd_config允许该操作。或者为 root 帐户设置公钥身份验证。参见如何为 root 用户设置无密码 SSH 访问例如。不幸的是,如果您真的把自己锁在外面并以以下身份登录,那么如果没有托管商的帮助,这是不可能做到的约翰也不起作用。

除此之外,如果你不添加对于该AllowUser指令来说,PermitRootLogin 的设置无论如何都不会产生任何效果。

因此,为了解决您的特定问题,请将这两个设置sshd_config如下所示:

PermitRootLogin yes
AllowUsers root john

然后重新启动 sshd 或重启服务器。之后您应该能够使用密码以 root 身份登录。

至于当您尝试登录时出现的错误消息约翰:这看起来不像是正常的 ssh 或 Ubuntu 错误消息,而是您的主机商添加的内容。您应该按照提示操作并联系支持人员。

安全措施

一般来说,如果您弄乱了 sshd 设置,有一种简单的方法可以测试:只需使用 重新启动 sshd 服务service ssh restart并从另一个终端尝试操作。不要终止现有会话。如果出现问题,您仍然可以运行会话并恢复错误的设置。

无需重新启动整个服务器即可激活 sshd 的更改。

相关内容