可以在多台计算机/服务之间共享私钥文件吗?

Beh*_*ang 115 ssh public-key

所以我们都知道如何使用 SSH 等方式使用公钥/私钥。但是使用/重用它们的最佳方法是什么?我应该永远把它们放在安全的地方吗?我的意思是,我需要一对密钥来访问 GitHub。我从头开始创建了一对,并用它来访问 GitHub 一段时间。然后我格式化了我的硬盘并丢失了那对。大不了,我创建了一个新对并将 GitHub 配置为使用我的新对。还是我不想失去的东西?

我还需要一对公钥/私钥来访问我们公司的系统。我们的管理员向我要了我的公钥,我生成了一对新密钥并将其交给了他。通常是创建一个新对来访问不同的系统更好,还是拥有一对并重用它来访问不同的系统更好?同样,创建两个不同的对并使用一个从家里访问我们公司的系统,另一个从工作中访问系统更好,还是只拥有一对并从两个地方使用它更好?

Gil*_*il' 89

您绝对应该为每个 origin拥有单独的私钥。基本上这意味着每个私钥通常应该有一个副本(不包括备份)。可以使用来自密切相关的机器的相同私钥,在这种情况下,闯入一个基本上可以让您访问另一个(例如,如果它们在彼此的 中shosts.equiv)。不要在不同领域(例如家庭和工作)的机器上使用相同的私钥,不要在两个用户之间共享私钥,也不要在笔记本电脑和任何其他机器之间共享私钥。

在大多数情况下,我不认为为不同的目的地使用不同的私钥有什么意义。如果私钥被泄露,存储在同一目录中的所有其他私钥肯定也会被泄露,因此会增加复杂性而没有安全优势。

如果遵循这些原则,每个密钥对标识一个(机器、用户)对,这使得授权管理更容易。

对于每个来源的单个私钥的一般规则,我可以想到两个例外:

  • 如果您有一个无密码的密钥,它只能访问特定机器上的特定命令(例如自动备份或通知机制),则该密钥必须不同于一般的 shell 访问密钥。
  • 如果某些机器断断续续地连接,您可能会有一个旧的私钥和一个新的私钥,直到您完成新密钥的部署。

  • 这就是我一直使用我的密钥对的方式。我不明白为什么 GitHub 在他们的设置说明中提倡生成一个新的密钥对。我忽略了这一点并使用了我的标准密钥对。我认为他们是保守的。 (5认同)

Dis*_*lla 0

在我的公司,我们使用这些用户特定的密钥。这意味着情况二。用户拥有自己的密钥,该密钥用于他用来连接到公司系统的每一台机器。我的意见是一个系统使用一把钥匙。这意味着您可以在需要连接到特定网络的每台计算机上使用此密钥。对于您的情况,这将是 GitHub 的一把密钥和公司系统的一把密钥。因此,如果您的管理员再次询问您,我会给他与上次相同的密钥。不是新的。\n但是,我不知道这些密钥是否有通用的使用策略,从那时起我就做错了。这肯定是可能的;-)

\n