我的 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 文件对它不可见。