拥有多个 SSH 密钥是否合理?

拥有多个 SSH 密钥是否合理?

到目前为止,我已经为我需要登录的每台服务器创建了单独的 SSH 密钥(更准确地说,是针对每个目的)。我这样做是出于安全感,就像不同的网站使用不同的密码一样。

拥有多个 SSH 密钥真的能提高安全性吗?它们都在同一台机器上使用,位于同一个 ~/.ssh 中,大多数甚至具有相同的密码。

那么...我应该放弃整个系统并只使用一个 SSH 密钥来处理所有事情吗?

[更新日期 2015-08-05]Github 发布你的公钥,你的 SSH 客户端可能会根据配置将所有公钥发送到每个服务器因此,如果你担心第三方 SSH 服务器在连接时知道你的身份,你可以应该使用多个 SSH 密钥,尽管在我看来这是偏执的。

答案1

SSH 密钥使用公钥加密。这意味着你在所有这些服务器上安装的只是你的民众密钥,全世界都知道。唯一真正的秘密是你在自己的机器上锁定的私钥。所以是的,我想说你在浪费时间。

答案2

最终这取决于你。你需要评估你的威胁模型。你的一个密钥被泄露的可能性有多大?如果一个密钥被泄露,其他密钥被泄露的可能性有多大?你的密钥被泄露的后果是什么?管理多个密钥的成本(包括时间)是多少?

考虑这些因素应该可以帮助您决定是否真的需要单独的密钥。在我的本地网络上的个人机器上,我通常不会费心管理多个密钥。但是,在我的网络之外,我会使用不同的密钥,每个密钥都有一个唯一的密码。但这只是我的个人观点。

答案3

不,使用多个密钥并不浪费时间。

多样性越大=风险越小。

斯皮夫的这个说法是不正确的。

关键是公钥授予对私钥持有人,没有其他人。

这里需要关注的风险是身份验证。恶意网站会将身份验证请求转发给您的代理任务。如果您只使用一个密钥,那么即使仅加载一个密钥在你的代理中,所有网站均开放对流氓。

这有与密码无关,您可以拥有多个具有相同密码的密钥,但这不会造成任何影响。因为被泄露的不是密码。

恶意程序将挑战转发给你的代理,并可以连接到所有网站您已加载密钥 使用不同的钥匙,一键加载 -> 一个站点面临风险

我说你真棒,你选择了尊重别人的隐私而不是自己的懒惰。

PS这个故事的寓意是警惕代理转发

答案4

我认为合理的可以从两个不同的角度来考虑:安全方便

当我们创建 SSH 密钥对时,我们会被要求提供一个密码来增加一层保护私钥,如下所示:

$ ssh-keygen -t rsa -b 4096 -C 'With_OR_Without_Passwd'
Generating public/private rsa key pair.
Enter file in which to save the key (/Your/HomeDir/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):

虽然有明确的提示要求输入密码,但是一些(或许多)人仍然更关注括号中的信息:(空表示无密码),并遵循该建议。

合并是否使用多个 SSH 密钥对是否输入附加密码,我们至少有四种方法。我们假设所有密钥对和文件config都存储在中~/.ssh/

现在让我们考虑一下安全第一的。

下表给出了安全性的简单排序(数字越大越安全):

Security     Ways to go
   1         One   SSH key-pair  (NO passwd)
   1         Multi SSH key-pairs (NO passwd)
   2         One   SSH key-pair  (WITH passwd)
   2         Multi SSH key-pairs (WITH passwd) (SAME passwd)
   3         Multi SSH key-pairs (WITH passwd) (DIFF passwds)

无密码,如果我们的系统被人入侵,那么入侵者就可以获得我们所有的私钥和配置,以及远程服务器的身份验证。所以在这种情况下,单密钥对和多密钥对是一样的。最安全的方式是为不同的 ssh 密钥对使用不同的密码。

那么我们就不要再想了方便

但是更多的密钥对和更多的密码也使我们的生活变得不那么方便,下表给出了一个简单的安全性排名(数字越大表示越安全):

Convenient  Security  Ways to go
   5           1      One   SSH key-pair  (NO passwd)
   4           2      One   SSH key-pair  (WITH passwd)
   3           1      Multi SSH key-pairs (NO passwd)
   2           2      Multi SSH key-pairs (WITH passwd) (SAME passwd)
   1           3      Multi SSH key-pairs (WITH passwd) (DIFF passwds)

因此,在一般情况下,如果我们必须权衡安全方便同时,我们可以将两个分数相乘,也许一个 SSH 密钥对 (带密码)是一个不错的选择。

相关内容