理论上,SSH 密钥的公共部分不需要保密。因此,令我惊讶的是,我无法读取系统上另一个用户的公钥:
andreas:~$ cat /home/bob/.ssh/id_rsa.pub
cat: /home/bob/.ssh/id_rsa.pub: Permission denied
密钥文件的权限允许我读取该id_rsa.pub
文件(644
),问题是该.ssh
目录具有该权限700
。
是否有任何系统可以列出系统上其他用户的公钥,而不必成为 root 用户或单独以每个用户身份登录?
答案1
通常你会得到某人的公钥副本,因为他们发布(无论是直接发送给您还是将其放在更容易访问的地方)。
~/.ssh
由于创建公钥/私钥对时将私钥直接存储在那里的惯例,公钥的原始副本通常位于其中。除了方便之外,没有理由必须有人这样做保持他们的公钥在那里,因为他们将使用私钥来提供他们的凭证。