EC2 实例上的非 root 登录

EC2 实例上的非 root 登录

我已经为客户设置了一个带有 ArchLinux 的 EC2 实例,目前处于测试阶段。

我正在使用 Windows 8 中的 PuTTY 通过 SSH 进入机器。我已正确设置连接配置文件,并指定了正确的密钥文件。

尝试登录时,系统会向我提供选择以哪个用户身份登录的选项。我选择“root”,连接顺利进行,尽管系统并未要求我输入 root 密码。

我想禁止 root 登录,但是当我尝试以任何其他用户身份登录时,我从系统获得:

Server refused our key

我还收到一个弹出窗口,提示:

Disconnected: No supported authentication methods available (server sent: publickey)

为什么我无法以其他用户身份登录?禁止 root 登录对我来说非常重要。

顺便问一下,系统没有提示我输入 root 密码,这正常吗?

答案1

检查您的公共 SSH 密钥是否已安装到用户/home/non-root/.ssh/authorized_keys的文件中non-root。该Server refused our key消息表明它尚未安装或安装不正确。

root如果您想对您的用户使用相同的 SSH 密钥non-root,那么只需将/root/.ssh/authorized_keys文件复制到/home/non-root/.ssh/authorized_keys.

此外,该消息Disconnected: No supported authentication methods available (server sent: publickey)似乎表明此 SSH 服务器仅配置为允许使用 SSH 密钥进行身份验证。如果您还想允许基于密码的身份验证,请将其添加PasswordAuthentication yes到您的/etc/ssh/sshd_config文件中并重新启动sshd

至于root以 身份登录时不提示输入密码root,默认情况下,SSH 服务器配置为优先使用 SSH 密钥验证而不是密码,因此如果成功,则不会要求您输入密码。

ArchLinux 维基有关使用 SSH 密钥的更多信息,可能也有用。

相关内容