我应该如何管理安全的个人 ssh 密钥?

Esm*_*irk 14 ssh keyrings

我需要一个个人 ssh 密钥,以便:

  • 我可以备份包含我的私钥的单个文件,并在我进行新安装时恢复它。
  • 私钥永远不会以未加密的形式存储在任何地方,包括在我备份和恢复的文件中,但在我使用它时我的 RAM 除外。
  • 对我的机器有物理访问权限的人不一定会使用我的私钥。我应该被要求输入密码才能工作,最好是我的用户帐户的密码。
  • 没有必要备份公钥。我应该能够从私钥生成它(但可能需要足够的信息来解密它)。

我知道有很多资源解释了如何使用 ssh 密钥管理工具。但是,我发现它们非常复杂,而且我已经证明在过去进行新安装时无法保存我的私钥。所以我更愿意从有经验的人那里听听我想做的事情的一些最佳实践。

Oli*_*Oli 9

通过你的观点:

  • 当您生成一个SSH密钥,它存储在~/.ssh/作为id_rsa(或id_dsa)。您可以根据需要将其从一台机器移动到另一台机器。

  • 您可以通过加密来确保其加密/home/。关于如何在互联网上执行此操作有几组说明,但是(我自己从未这样做过)我不能诚实地提出建议。UbuntuForums 上的那个看起来和其他的一样好。在全新安装中执行此操作更容易(您可以在安装程序中执行此操作),但这不是必需的。

  • 生成密钥对时,请确保设置了密码。这意味着即使有人获得了您的私钥,他们仍然需要该令牌才能使用它。

  • ssh-keygen -e将从您的私钥生成您的公钥哈希。是的,您不需要备份它(尽管这样做也不难 - 它存储为~/.ssh/id_rsa.pub)。