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

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

当您想为多台机器进行基于公钥的 ssh 登录时,您是否使用一个私钥,并在所有机器上放置相同的公钥?或者您是否为每个连接设置一个私钥/公钥对?

答案1

我对共享公共管理边界的每组系统使用一个密钥。这限制了密钥被泄露时弹出的机器数量,同时又不会完全压倒我存储和管理数千个密钥的能力。每个密钥上的不同密码意味着即使您的所有私钥都被盗并且一个密钥被泄露,其余的也不会随之消失。此外,如果您确实做了一些愚蠢的事情(例如将私钥复制到不受信任的机器上),您也不必重新设置所有密钥,只需重新设置与该密钥关联的机器即可。

答案2

公钥并不重要,因为根据定义,它可以公开。所以唯一的问题是你的私钥的隐私。它们都在你自己的机器上,而且都是在一起的,所以如果其中一个被泄露,很可能它们都会被泄露。因此,多对密钥只是为达到同样的效果而付出了更多的努力。

我唯一会使用不同密钥的情况是针对不同的账户或不同的角色,根据定义,它们的访问权限不应该完全重叠。

答案3

如果我理解正确的话,每个服务器都会有自己的公钥。

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

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

一些大公司(我相信小公司也一样)采用的另一种方案是永远不允许“用户”使用预共享密钥,而是让他们登录到“跳转”或“集线器”框,登录su到适当的连接用户,然后从那里通过 SSH 连接到他们需要管理的服务器。

此外,如果您使用 HP 服务器自动化平台之类的管理系统,那么托管服务器的远程管理将变得更加简化。

答案4

为了方便管理多个支持 SSH 的服务器,你可能需要查看響鳴。您可以将 cssh 与密码 SSH 密钥相结合,大大增强您同时管理多台服务器的能力。

相关内容