
我想告诉您如何安全地将SSH密钥存储在本地计算机上,而不必担心某些应用程序可能会窃取或解密它们。
本文对于那些在2018年的偏执狂之后仍未找到理想解决方案并继续将密钥存储在$HOME/.ssh
人很有用。
为了解决此问题,我建议使用KeePassXC ,它是最好的密码管理器之一,它使用强大的加密算法,并且还具有内置的SSH代理。
这样就可以将所有密钥安全地直接存储在密码数据库中,并在打开时自动将其添加到系统中。 关闭数据库后,也将无法使用SSH密钥。
首先,我们将在登录时添加SSH代理的自动启动,为此,在您喜欢的编辑器中打开~/.bashrc
并添加到最后:
SSH_ENV="$HOME/.ssh/environment" function start_agent { echo "Initialising new SSH agent..." /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}" echo succeeded chmod 600 "${SSH_ENV}" . "${SSH_ENV}" > /dev/null }
然后,我们需要在KeePassXC中启用支持:
工具 -> 选项 -> SSH代理 -> 启用SSH代理

这样就完成了设置,现在尝试向KeePassXC添加新的SSH密钥:
单击带有键的图标,然后填写数据:

如果密钥受密码保护,请提供相同的密码
在“ 高级”选项卡上,使用我们的id_rsa加载附件:

在“ SSH代理”选项卡上,请注意:
- 在打开/解锁数据库时向代理添加密钥
- 关闭/锁定数据库时从代理中删除密钥
接下来,在附件中选择我们的密钥( id_rsa )
然后单击添加到代理按钮:

现在,当您启动KeePassXC时,密钥将自动添加到SSH代理中,因此您将无法再将其存储在磁盘上!