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


14

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

  • 我可以备份包含私钥的单个文件,并在进行新安装时将其还原。
  • 私钥永远不会以未加密的形式存储在任何地方,包括存储在我备份和还原的文件中,但在使用它时,RAM必不可少。
  • 可以物理访问我的计算机的人不一定必须使用我的私钥。应该要求我输入密码才能生效,最好是我的用户帐户密码。
  • 不必备份公共密钥。我应该能够从私钥生成该私钥(但可能需要足够的信息才能对其进行解密)。

我知道有很多资源说明如何使用ssh密钥管理工具。但是,我发现它们非常复杂,并且过去已证明无法保存我的私钥。因此,我宁愿从有经验的人那里得到一些最佳实践,这些经验完全可以完成我想做的事情。

Answers:


9

通过您的观点:

  • 生成SSH密钥时,该密钥存储~/.ssh/id_rsa(或id_dsa)。您可以根据需要在机器之间移动它。

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

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

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


不会将密码短语设置为加密密钥吗?
Vincent Povirk,2010年

@Vincent肯定的。我不确定您要如何出现在这里。如果要最大程度地减少他人获取密钥的机会,请将其粘贴在加密分区中。如果您对人们能够获得它感到满意(如果他们获得了物理访问权限),但是如果没有密码就无法使用它,则可以跳过这一步。
奥利(Oli)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.