なぜgnome-keyring-daemonがパスフレーズをキャッシュするために公開鍵を必要とするのですか?


8

私は2つのArch Linuxマシンを使用していますが、どちらも実質的に同じ設定で、どちらも実行してい/usr/bin/gnome-keyring-daemon --daemonize --loginます。どちらも同じSSH秘密鍵を持っていますが、公開鍵を持つのはどちらか一方だけです。公開鍵を持つホストでは、GNOME Keyringデーモンは正​​常に動作します-期待どおりにプロンプ​​トなしで他のマシンにSSHで接続できます。公開鍵のないホストは、GNOMEキーリングはパスフレーズをすでに入力したことを無視しているようで、毎回プロンプトが表示されます:

$ ls ~/.ssh/id_rsa.pub
ls: cannot access /home/user/.ssh/id_rsa.pub: No such file or directory
$ ssh some-host exit
Enter passphrase for key '/home/user/.ssh/id_rsa':
$ ssh other-host exit
Enter passphrase for key '/home/user/.ssh/id_rsa':

また、パスフレーズを入力した後でも、IDはリストされません

$ ssh-add -l
The agent has no identities.

公開鍵を直感的にコピーした後、パスフレーズの入力を求められなくなりました。その後、公開鍵を再度削除すると、症状が元に戻ります。この動作の理由はありますか、それとも単なるバグですか?

回答:


3

GNOMEキーリングのドキュメントのSSHエージェントページから

SSHエージェントは、対応する* .pubペアファイルがある〜/ .ssh内のファイルを自動的にロードします。追加のSSHキーは、ssh-addコマンドを使用して手動でロードおよび管理できます。

したがって、GNOMEキーリングはid_rsa、対応id_rsa.pubするものが存在する場合にのみロードされます。

ssh-keygen秘密鍵ファイルから生成できます

ssh-keygen -y -f id_rsa  > id_rsa.pub

GNOMEキーリングをid_rsa自動的にロードしたくない場合は、削除する必要がありますid_rsa.pub

この規則が選択された理由に関する技術的な理由はわかりませんが、バグではありません。


参照いただきありがとうございます。ただし、バグではないことに同意します。
l0b0

おもしろいことに、7年間、この動作は同僚にランダムに発生していました。今日それは私に起こりました、そして私は最終的にすべてを説明しているドキュメントページに立ち寄りました。
hdorio
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.