据我所知,我唯一做的就是修改我的~/.ssh/known_hosts
文件,因为我建立了一个带有桥接网络适配器的新Parallels虚拟机,客户端Linux获得了一个与之匹配的本地局域网IP已知主机文件中的上一个条目(从而阻止我连接到它)。
(我不确定这是不是原因,但是)我编辑了我的已知主机文件,有时候,当推送到git时,SSH开始要求我提供私钥的密码,它从来没有完成到那一点(自2月份开始设置机器)。
我现在意识到我应该至少运行ssh
一个详细的旗帜,看看发生了什么,然后我学会了ssh-add
和ssh-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
。
一切还是犹太洁食吗?我被黑了吗?
答案 0 :(得分:3)
我有同样的事情发生,并同样担心被黑客攻击。我仍然不知道究竟发生了什么,这令人不安。
无论如何,每当我突然被问到我的密码时,我都会这样做:
$ eval `ssh-agent -s`
$ ssh-add
它会再问我一次我的密码,那就是它。