只是想快速总结一下它们之间的区别以及为什么有两种?
答案1
在 OpenSSH 3 之前的版本中,sshd 手册页曾经这样说:
$HOME/.ssh/authorized_keys 文件列出了 SSH 协议 1.3 和 1.5 中允许进行 RSA 身份验证的 RSA 密钥。同样,$HOME/.ssh/authorized_keys2 文件列出了 SSH 协议 2.0 中允许进行公钥身份验证 (PubkeyAuthentication) 的 DSA 和 RSA 密钥。
这发布公告对于版本 3,声明 authorized_keys2 已被弃用,所有密钥都应放在 authorized_keys 文件中。
答案2
协议 2 中使用 authorized_keys2 已被自 2001 年起已弃用。
[通过]
答案3
本来这个区别是为了区分版本。
但不要再担心了,因为现在2
可以忽略它了。
答案4
我还喜欢有第二个authorized_keys文件。
我使用并分发我的 authorized_key 文件到多台计算机,限制我的访问权限,以便只有我的主要主页才允许登录其他帐户。但这通常意味着它在我的所有帐户上都是相同的,如果不同,它会被覆盖。我还看到其他计算机配置程序不断覆盖它(Puppet)。
然而,当我登录到大型计算集群的前端节点时,我喜欢将密钥放在authorized_keys2文件中,以便前端节点可以访问集群的其他节点,但不能访问任何其他机器。也就是说,我将它用作“本地授权文件”,与“分布式授权文件”分开。
当使用共享住宅时(因为它们通常位于一个集群中),这一点变得尤为重要。
现在它已经贬值了,真是可惜。
一个不错的替代方案是包含机制,或“authorized_keys.d”子目录,或“为该主机使用这些密钥”。