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

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

我有一个 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

(即,对 .ssh 目录和 auth-key 文件都使用 chmod 600)

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

尝试从桌面连接时:

ssh -i mykey [email protected]   -- works, meaning the key is OK.
ssh -i mykey [email protected]   -- doesn't work, for the same "mykey" file!

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

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

(我也尝试了 plink,putty 的“ssh'ing”版本,使用 PPK 文件 - 结果相同,所以我认为这不是 ssh 中的错误:))

编辑:

ssh的具体错误:

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

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

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

答案1

根据问题~/.ssh/authorized_keys 无法正常工作,该.ssh目录需要有700的权限。

原因是,即使没有正确设置权限,它也可以对 root 起作用,因为 root 对所有内容都有隐含的权限。

相关内容