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

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

我需要一个个人 ssh 密钥,例如:

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

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

答案1

回顾你的观点:

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

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

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

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

相关内容