到目前为止,我已经为我需要登录的每个服务器创建了一个单独的 SSH 密钥(为了每个目的,更准确)。我这样做是出于安全感,就像不同网站的不同密码一样。
拥有多个 SSH 密钥真的能提高安全性吗?它们都在同一台机器上使用,位于同一个 ~/.ssh 中,大多数甚至具有相同的密码。
所以...我应该放弃整个系统而只使用一个 SSH 密钥来处理所有事情吗?
[更新 2015-08-05] Github 发布您的公钥,并且您的 SSH 客户端可能会将您的所有公钥发送到每个服务器,具体取决于配置,因此,如果您担心 3rd 方 SSH 服务器在连接时知道您的身份,您应该使用多个 SSH 密钥,尽管在我看来这是偏执的。
hea*_*vyd 40
最终这取决于你。您需要评估您的威胁模型。您的其中一个密钥被泄露的可能性有多大?如果一个密钥被泄露,其他密钥被泄露的可能性有多大?您的密钥被泄露有什么后果?管理多个密钥的成本(包括时间)是多少?
考虑这些因素应该可以帮助您确定是否真的需要单独的密钥。在我的本地网络上的个人计算机上,我通常不会在尝试管理多个密钥时为额外的开销而烦恼。然而,在我的网络之外,我会使用不同的密钥,每个密钥都有一个独特的密码。但这只是我个人的意见。
Spi*_*iff 33
SSH 密钥使用公钥加密。这意味着,你在所有这些服务器上安装什么只是你的公共密钥,您想要全世界知道。唯一真正的秘密是您在自己的机器上锁定的私钥。所以是的,我会说你是在浪费时间。
pbe*_*hez 21
不,使用多个键不是浪费时间。
更多的多样性 == 更少的风险。
斯皮夫的那句话是不正确的。
关键是公钥授予私钥持有者的访问权限,而没有其他人。
这里需要关注的风险是身份验证。流氓站点将身份验证请求转发给您的代理任务。如果您只使用一个密钥,那么即使您的代理中只加载了一个密钥,所有站点都对流氓开放。
这与 passphrases 无关,您可以拥有多个具有相同密码短语的密钥,这在这里没有任何区别。因为被泄露的不是密码。
流氓将挑战转发给您的代理,并且可以连接到您加载了密钥的所有站点。 使用不同的密钥,一键加载 -> 一个站点有风险。
我说对你好,你选择了别人的隐私而不是你自己的懒惰。
PS 这个故事的寓意是小心代理转发
我认为多个公钥有一个很好的用例,那就是如果您将私钥存储在不同信任区域的计算机上。所以我通常保留一个是我的“工作”密钥,另一个是我的“家庭”密钥,因为我的“家庭”东西的私钥没有存储在我的工作计算机上,反之亦然。
我认为合理可以从两个不同的角度来考虑:安全性和便利性。
当我们创建一个 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):
Run Code Online (Sandbox Code Playgroud)
虽然有一个明确的提示要求密码,但一些(或许多)人仍然更关注括号中的信息:(空表示没有密码),并遵循该建议。
结合是否使用多个 SSH 密钥对和是否输入额外的 passwd,我们至少有四种方法。让我们假设所有密钥对和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)
Run Code Online (Sandbox Code Playgroud)
没有 passwd,如果我们的系统被某人入侵,那么断路器可以获得我们所有的私钥和配置,以及远程服务器的身份验证。所以在这种情况下,One key-pair 和 Multi key-pairs 是一样的。最安全的方法是对不同的 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)
Run Code Online (Sandbox Code Playgroud)
所以,在一般情况下,如果我们必须同时兼顾安全性和便利性,我们可以将这两个分数相乘,也许One SSH key-pair (WITH passwd)是一个不错的选择。
归档时间: |
|
查看次数: |
26465 次 |
最近记录: |