我需要一个个人 ssh 密钥,例如:
- 我可以备份包含我的私钥的单个文件,并在进行新安装时恢复它。
- 私钥从来不会以未加密的形式存储在任何地方,包括我备份和恢复的文件中,但当我使用它时,我的 RAM 除外。
- 能够物理访问我机器的人不一定能使用我的私钥。我需要输入密码才能使用,最好是我用户账户的密码。
- 无需备份公钥。我应该能够从私钥生成公钥(但可能需要足够的信息才能解密)。
我知道有很多资源解释了如何使用 ssh 密钥管理工具。但是我发现它们非常复杂,而且我以前在进行新安装时无法保存私钥。所以我更愿意从有经验的人那里听取一些最佳实践。
答案1
回顾你的观点:
生成 SSH 密钥后,它将
~/.ssh/
以id_rsa
(或id_dsa
)的形式存储在 中。您可以根据需要将其从一台机器移动到另一台机器。您可以通过加密来确保其加密
/home/
。互联网上有几套关于如何执行此操作的说明,但(我自己从未这样做过)我无法诚实地建议其中哪一套。UbuntuForums 上的一个看起来和其他的一样好。在全新安装时执行此操作比较容易(您可以在安装程序中执行此操作),但这不是必需的。生成密钥对时,请务必设置密码。这意味着即使有人获得了您的私钥,他们仍然需要该令牌才能使用它。
ssh-keygen -e
将从您的私钥生成公钥哈希。是的,您不需要备份它(尽管备份也不难 - 它存储为~/.ssh/id_rsa.pub
)。