终端 – 显示密码对话框,用于无密码SSH私钥

我在〜/ .ssh / id_rsa中安装了我的SSH私钥.没有与密钥关联的密码短语,但是,每当我连接到SSH服务器时,会弹出一个对话框并要求我输入密码以访问id_rsa文件.

如果我取消对话框或输入空密码并单击“确定”,则终端会提示我输入密码.

我已经验证密钥是有效的,并且通过其他机器连接相同的密钥不需要密码.

关于我的特殊设置的一些奇怪的事情导致了问题,但我无法弄明白.我目前正在运行OSX 10.7.1,但OSX 10.6.8也出现了同样的问题

最佳答案
我有同样的问题.但是,当生成新的无密码私钥时,使用以下命令:

ssh-keygen -b 1024 -t rsa -f id_rsa -P ""

我不再看到密码提示.

此外,ssh-add无法添加旧密钥,但按预期添加了新密钥.

我在2009年在Leopard上生成了旧密钥,使用了我曾经抓过,构建和安装的OpenSSL版本(Mac死了,所以我无法登录并查看我正在运行的内容).关于该密钥的某些内容与Lion的本机SSL库不兼容.

我备份了我的旧密钥,所以如果有人想建议一些检查,以确定密钥的特定属性,让我检查一下,我会报告回来.

另一个线索 – 我注意到我的旧id_rsa.pub文件具有扩展属性.即它的权限标志看起来像这个—- —- @而不是r ——–

xattr -l id_rsa.pub.old

回:

com.macromates.caret: {
    column = 0;
    line = 1;
}

从TextMate遗留下来的.我不知道是否删除它会解决问题,而不必更换密钥.我认为这不太可能.

如果您(未来的读者)看到相同的内容,您可以删除扩展属性,如下所示:

 xattr -d com.macromates.caret id_rsa.pub.old

您可以通过先退出TextMate然后发出以下命令来阻止TextMate添加它们:

defaults write com.macromates.textmate OakDocumentDisableFSMetaData 1

转载注明原文:终端 – 显示密码对话框,用于无密码SSH私钥 - 代码日志