ssh 私钥适用于 root,但不适用于普通用户

Ber*_*ala 5 linux openssh putty

我有一个 linux (ubuntu 12) 服务器和一个 Windows 桌面。

我正在尝试通过 ssh 和私钥连接

服务器有这些文件

rw------- root.root /root/.ssh
rw------- root.root /root/.ssh/authorized_keys

rw------- user2.user2 /home/user2/.ssh
rw------- user2.user2 /home/user2/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)

(即 .ssh 目录和 auth-key 文件的 chmod 600 )

“authorized_keys”的内容是 root 和 user2 的副本。只是所有权不同。

尝试从桌面连接时:

ssh -i mykey root@myhost.org   -- works, meaning the key is OK.
ssh -i mykey user2@myhost.org   -- doesn't work, for the same "mykey" file!
Run Code Online (Sandbox Code Playgroud)

(私钥失败,但密码登录仍然有效,所以这与服务器根本不接受此用户无关)

root 和 user2 之间可能有什么不同?

(我还尝试了 plink,用于“ssh'ing”的腻子版本,带有 PPK 文件 - 结果相同,所以它不是 ssh 中的错误 :) 我认为。)

编辑:

ssh 的具体错误:

无法建立主机'[myhost.org]:22 ([1.7.1.2]:22)'的真实性

Plink:“服务器拒绝了我们的密钥”

(此消息中的 ip/port/host 是假的)

Mar*_*ryl 4

根据问题~/.ssh/authorized_keys not working beautiful,该.ssh目录需要有 700 权限。

即使没有正确设置权限,它也适用于 root,因为 root 对所有内容都有隐式权限。