我应该在每个系统上创建一个新的私有 ssh 密钥吗?

Tau*_*ren 10 security ssh

我需要通过 SSH 从多个设备连接到多个服务器。我想知道是否应该在我连接的每个设备上创建一个新的 id_dsa 文件,或者将相同的 id_dsa 文件复制到每个设备是否没有问题。

例如,我有我的主要基于 Ubuntu 的桌面系统和带有 ssh 的 MacBook Pro。我有一个安装了 Putty 的基于 Windows 的上网本。我有一部带有 ConnectBot 的 Android 手机。从这些设备中的任何一个,我可能需要通过 SSH 连接到数十个不同的物理和虚拟服务器。

每个服务器都需要安装我的公钥。此外,我的 GitHub 和 Codaset 帐户需要我的公钥。

为了简化密钥管理,我正在考虑在所有这些系统上使用相同的私钥。这是常见的做法,还是在每个系统上都有一个私钥更好?

jef*_*aid 3

如果您在每个系统上使用相同的公钥并且私钥被泄露,那么除了其他限制外,任何使用该密钥的系统都将是可访问的。

我相信您正在使用受密码保护的私钥?

在我们的管理实践中,我们有低、中、高安全“角色”。每个角色使用不同的密钥。高安全性私钥永远不会被传输到外部资产,用于可能丢失/被盗的笔记本电脑等。中低安全性密钥可以部署在更广泛的场景中。

我建议检查您的使用模式,看看从安全角色角度来看是什么造成的。获取您的私钥会造成什么损害?

您是否考虑过将 SSH 私钥放置在无法被窃取的硬件设备上,从而消除密钥的潜在泄露问题?

硬件安全模块和智能卡都可用于以安全的方式存储 SSH 私钥,从而使所有加密操作都可以在设备上执行,而不是在操作系统上执行。然而,它们并不是万能的,因为它们还需要备份硬件设备,以防出现硬件故障。