私はこれと同じ問題を抱えていました。ただし、がパスワードなしの新しい秘密鍵を生成した場合は、次のコマンドを使用します。
ssh-keygen -b 1024 -t rsa -f id_rsa -P ""
パスワードプロンプトが表示されなくなりました。
さらに、ssh-addは古いキーを追加できませんでしたが、期待どおりに新しいキーを追加しました。
私は2009年にLeopard上で古いキーを生成し、それまでに手に入れたバージョンのOpenSSLを使ってビルドし、インストールしました(そのMacは死んだので、ログインして実行中のものを確認できません)。その鍵に関する何かがLionのネイティブSSLライブラリと互換性がありませんでした。
私は私の古い鍵をバックアップしました、それで誰かがいくつかのチェックを提案したいなら、鍵の特定の特性を識別するために、何をチェックしたらよいか私に報告します。
もう1つの手がかり - 私の古いid_rsa.pubファイルには拡張属性があることに気付きました。つまり、パーミッションフラグはr -------- @ではなく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