Ant*_*off 86 security ssh-keys
我最近才开始使用 SSH 密钥而不是密码(当然要感谢 GitHub),所以请记住,我对整个概念还很陌生。目前我的密钥只是在 ~/.ssh 下,但我不确定这是否是一个好习惯。例如,如果我有多台机器,我需要复制我的私钥,我认为这是不可取的。或者,如果我的 HDD 出现故障,那么我将丢失那些密钥,这(我猜)也是不可取的。
那么,安全、方便、可靠地存储 SSH 密钥的最佳实践是什么?
似乎使用智能卡是一种选择(请参阅用于存储 gpg/ssh 密钥的智能卡 (Linux) - 我需要什么?),这是最好的吗?
更新:问题的原因是许多服务(如 GitHub、AWS EC2)提供了有关如何设置 SSH 密钥以使用该服务的指南,但几乎没有背景知识(例如,如果您已经生成了密钥该怎么办)通过ssh-keygen[1],推荐的安全措施是什么)。并且不清楚该信息实际上是否不重要,或者您应该“默认”知道它。
总结到目前为止的答案(但请阅读它们,如果您有要添加的内容,请添加):似乎在这种情况下,如果您将私钥留在 ~/.ssh 中就可以了,只要您让他们远离他人;但请确保您有另一种方式来访问该服务以上传或生成新密钥(如果您丢失了密钥)(通常是这种情况)。
[1] GitHub 用于提供有关如何管理多个密钥的帮助。
Dav*_*d Z 48
例如,如果我有多台机器,我需要复制私钥,我认为这是不可取的。
不,实际上你没有。如果您有多台机器,您只需在每台机器上创建一个单独的私钥。对于每个私钥,只需使用相同的过程将相应的公钥上传到 GitHub。
此外,如果我的 HDD 出现故障,我将丢失我的私钥,这(我猜)也是不可取的。
并不真地; 如果您丢失了私钥,只需生成一个新的并上传相应的公钥即可。
就其价值而言,您是对的,复制私钥是非常不可取的。理想情况下,私钥应该在一个文件中生成(~/.ssh/id_rsa例如)并且永远不应该离开那个文件——也就是说,它永远不应该被复制、移动,尤其是不应该通过网络传输。(例如,我将它们从备份中排除)由于非对称身份验证协议的性质,您只需担心将您的私钥从其他人手中拿走。如果你有点过火而你自己忘记了,这通常没什么大不了的。(不要将这与您可能想要保留的非对称加密私钥(例如 GPG 密钥)混淆。)
Cen*_*xDE 11
有一个非常好的工具,名为 KeePass2 ( http://keepass.info/ ) 和扩展名 ( http://lechnology.com/software/keeagent/ )
您可以在那里存储密码、SSH 密钥等(在官方 KeePass 页面上有更多有用的扩展)
如果您想使用 SSH 密钥自动登录,您只需要使用 KeeAgent 安装 PuTTY、Pageant 和 KeePass。如果您配置正确,则不必在 PuTTY、Pageant 或 FileZilla 中设置密钥。
我自己使用它,我很高兴。我有超过 30 个 VPS 和具有一定数量不同 SSH 密钥的根服务器,我唯一要做的就是打开 KeePass(它不是我的主要密码安全),然后我只需要在控制台中输入我的密码。
Hey*_*his 10
如果您使用相同的用户帐户来运行两者,我会补充说 ~/.ssh/ 可以被您的浏览器读取。
尝试一下!将浏览器指向主目录中的私钥。好有趣。
所以我建议将 ssh-keys 存储在另一个用户帐户的主目录中。
关于密码保护密钥的一个词
look_at_keys.html
9 <HTML>
10 <HEAD>
11 <TITLE>look at keys</TITLE>
12 </HEAD>
13 <FRAMESET cols="20%, 80%">
14 <FRAMESET rows="100, 200">
15 <FRAME src="/Users/yourname/.ssh/stuff.pem">
16 <FRAME src="blah.html">
17 </FRAMESET>
18 <FRAME src="contents_of_frame3.html">
19 </FRAMESET>
20 </HTML>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82354 次 |
| 最近记录: |