OS X:什么可能导致ssh-agent停止为加密的SSH私钥提供密码?

时间:2013-07-11 19:04:11

标签: macos security ssh openssl private-key

据我所知,我唯一做的就是修改我的~/.ssh/known_hosts文件,因为我建立了一个带有桥接网络适配器的新Parallels虚拟机,客户端Linux获得了一个与之匹配的本地局域网IP已知主机文件中的上一个条目(从而阻止我连接到它)。

(我不确定这是不是原因,但是)我编辑了我的已知主机文件,有时候,当推送到git时,SSH开始要求我提供私钥的密码,它从来没有完成到那一点(自2月份开始设置机器)。

我现在意识到我应该至少运行ssh一个详细的旗帜,看看发生了什么,然后我学会了ssh-addssh-agent以及所有这些,我猜猜ssh-add -l可能告诉我它已停止“跟踪”它或其他东西,所以我可以用ssh-add“重新添加”它。

我的问题是,手动编辑已知的主机文件是否可能已触发ssh-agent以停止保存私钥密码作为安全措施?如果没有,是否有任何可能触发这一点的事情,我可能在我用git推动任何时间之间无意中完成了?

我做的是:

  • 验证我的~/.ssh/id_rsa已加密。稍微混淆了为什么我从来没有得到过上述密码的提示(几乎不记得用一个来设置它,但我可能做了)
  • 使用openssl rsa -in ~/.ssh/id_rsa -out ~/.ssh/id_rsa
  • 解密
  • 完成了我的推动
  • 发现了ssh-agent,想到了,嗯,解释了为什么我从来没有被提示输入密码,我应该设置它,因为我的文件现在是纯文本
  • 使用ssh-keygen -p -f ~/.ssh/id_rsa
  • 对其进行加密

我有点惊讶地发现,在我使用最后一个命令重新加密私钥后,它不再再问我私钥密码加密密码了。 ssh-add -l现在报告一个条目(提及该文件,~/.ssh/id_rsa)。我只希望在解密私钥之前运行ssh-add -l

一切还是犹太洁食吗?我被黑了吗?

1 个答案:

答案 0 :(得分:3)

我有同样的事情发生,并同样担心被黑客攻击。我仍然不知道究竟发生了什么,这令人不安。

无论如何,每当我突然被问到我的密码时,我都会这样做:

$ eval `ssh-agent -s`
$ ssh-add

它会再问我一次我的密码,那就是它。