Ubuntu 服务器拒绝了我的 SSH 密钥,我可能遗漏了什么?

Ubuntu 服务器拒绝了我的 SSH 密钥,我可能遗漏了什么?

我的 root 用户可以使用 ssh 登录,但出于某种原因,我的新用户无法使用相同的密钥登录。我正在使用 putty,这些是我收到的消息。

控制台消息:Using username 'newuser'. Server refused our key

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

我还尝试登录我的 root 帐户并切换用户。我尝试过,但没有成功。我收到了这条消息,ssh [email protected]Permission denied (publickey).

在我的服务器上,我创建了一个密钥文件/home/newuser/.ssh/authorized_keys,并将我的 SSH 密钥粘贴到该文件中。此外,我还在我的 Windows 计算机上浏览并将文件附加到 Putty 中。

我抓狂了。我不太清楚该从哪里找到问题。我是不是忽略了某些显而易见的东西?

- 更新 - 当我输入这个时namei -l /home/newuser/.ssh/authorized_keys这就是我的输出。

f: /home/newuser/.ssh/authorized_keys drwxr-xr-x root root / drwxr-xr-x root root home drwxr-xr-x newuser newuser newuser drwx------ newuser newuser .ssh -rw------- root root authorized_keys

答案1

我怀疑问题可能是您的 authorized_keys 文件归以下用户所有,root:root并且我相信这应该归将要连接的用户的用户名所有(username:username)。

出于安全原因,SSH 会检查.ssh文件夹及其内文件的所有权和权限。虽然并非每次偏离正常所有权和权限都会导致安全漏洞,但有些方法可以通过这种方式创建安全漏洞,而 SSH 则过于迂腐。此外,虽然 SSH 服务器守护程序需要以 root 身份运行,但它可能会在开始验证密钥之前分叉并转到普通用户帐户,这意味着 authorized_keys 文件对它不可见。

相关内容