SSH:您是否对每台远程计算机使用一个私钥/公钥对?还是一对都适合?


23

如果您想为多台计算机使用基于公钥的ssh登录,是否要使用一个私钥,并在所有计算机上使用相同的公钥?还是每个连接都有一对私钥/公钥?


@Jim Zajkowski:我不确定如何回复您的评论,但这是给您的。跳转框允许以受控方式访问DMZ(位于防火墙之后)中面向Internet的服务器。假设您有“ server_a”和“ server_b”。A在网络中,而B在网络外部。外部客户连接到B。需要控制从A到B的流量,反之亦然。因此,您添加了一个具有两个网卡的跳转框。一种将其连接到内部网络(A),将其连接到外部网络(B)。所以从你去跳框,然后到B的好处之一

@IMTheNachoMan-我已经将您的答案转换为评论,尽管最好的地方是直接在答案中包含您正在回应的评论的评论(这让我有些头晕)。如有任何疑问,请跳至meta并询问。谢谢您的澄清。
卡拉·马菲亚

Answers:


27

我使用共享公共管理边界的每套系统一个密钥。这限制了密钥被泄露时弹出的计算机的数量,同时还没有完全淹没我存储和管理数千个密钥的能力。每个密钥上的密码短语不同,这意味着即使您的所有私钥都被盗并且一个密钥已被盗用,其余密钥也不会随便掉入厕所。同样,如果您做一些愚蠢的事情(例如将私钥复制到不受信任的计算机上),则不必再次为所有密钥重新设置密钥,只需与该密钥关联的计算机即可。


4

公钥并不重要,因为根据定义,它可以公开。因此,唯一的问题是私钥的私密性。它们都在您自己的计算机上,并且一起存在,因此,如果其中一个受到感染,则很可能它们都将受到感染。因此,对于相同的效果,多个密钥对只是更多工作。

我唯一会使用不同密钥的时间是针对不同的帐户或不同的角色,根据定义,这些访问权限不应完全重叠。


2

如果我理解正确,那么每个服务器都将拥有自己的公钥。

对于给定的用户,您可以生成一个密钥并在任何地方使用它,只要将私钥复制到所有启动主机上即可。(这将通过网络安装的主目录和基于目录的身份验证系统(例如OpenLDAP)自动发生,因为无论用户从哪个工作站登录,用户都将始终“相同”。)

在基于目录的用户系统之外,我认为在任何地方都使用相同的密钥是一个坏主意–最终会导致系统安全性的净降低,因为任何可以从任何工作站获取密钥的人都可以通过以下方式进行身份验证:该用户到远程服务器。

由几家大公司(而且我敢肯定也是小公司)采用的另一种选择是永远不要允许“用户”使用预共享密钥,而是先登录到“跳转”或“集线器”框,su适当的连接用户,然后从那里SSH到他们需要管理的服务器。

另外,如果使用HP服务器自动化平台之类的管理系统,则对受管服务器的远程管理将变得更加简化。


1
每个人都应对其密钥进行加密。您能解释一下“跳箱”的安全性好处吗,因为我看不到它。
Jim Zajkowski 09年

正如我接触过的多家银行所实现的,以及在其他地方实现的“跳箱”的想法是,您不能用“普通”用户访问DMZ或子网中的服务器。您连接到跳转框,然后以记录的形式连接到管理用户以连接到另一个网络。
沃伦

2
换句话说,保证金== 0。
womble

@womble-也许是正确的。但这就是许多偏执的公司所做的。由于su已记录会话,因此它是可审核的。
沃伦

1
为什么只有su会议可以审核,而其他会议不能审核?
若昂里斯本

1

正如其他人所说,尽管多个密钥对的想法似乎更安全,但是如果有机会以一种将它们都放在同一个地方的方式使用它们,那么这将更加麻烦而不是更加安全。多个密码短语将使其更安全,但是要想记住哪个密码短语与哪个密钥一起使用以及哪个密钥与哪个服务器一起使用也很麻烦。

对我来说,最合理的答案是建议仅在涉及单独的管理角色且没有太多重叠的情况下才这样做。这样一来,可能是由不同的人来处理不同的角色,或者在不同的工作站上等等。在这种情况下,无论如何,对于每个不同的角色,您都有更多独特的事情要处理,因此更加合理。


0

为了便于管理多个支持SSH的服务器,您可能需要签出cssh。您可以将cssh与密码短语SSH密钥结合使用,以极大地增强同时管理多个服务器的能力。


2
您如何设法在光荣的for循环中获取“疯狂的bug”?
womble

这件事似乎非常致命—如果您犯了一个错误,那么您将立即破坏所有服务器,而不仅仅是一台!
尼克

@Nick-是的,但是当我负责包装箱的时候总是这样=)@womble-是吗?您指的是什么“疯狂的错误”?
Greeblesnort,2009年

1
在项目页面的顶部,您链接到:“注意:我将很快重新开始该项目,以便修复其中的疯狂错误。” 两年后仍然存在通知的事实并没有进一步增加我对此的信心。
womble
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.