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

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

私はほぼ同じ2つのArch Linuxマシンを持っています設定、すべて実行中です/usr/bin/gnome-keyring-daemon --daemonize --login。すべて同じSSHキーを持っていますが、そのうちの1つだけが公開キーを持っています。公開鍵を持つホストでは、GNOME Keyringデーモンが正しく機能します。予想されるプロンプトがなくても、他のコンピュータにSSHで接続できます。ホストからいいえ公開鍵がGNOME Keyringのようです。私が入力したパスワードを無視してくださいそして、毎回次のメッセージが表示されます。

$ 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':

それも登録された身元はありません。、パスワードを入力した後でも:

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

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

答え1

GNOMEキーリング文書からSSHエージェントページ:

SSH エージェントは、対応する *.pub 同伴ファイルを含む ~/.ssh のファイルを自動的にロードします。追加のSSHキーは、ssh-addコマンドを介して手動でロードおよび管理できます。

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

ssh-keygen秘密鍵ファイルを使用して秘密鍵ファイルを生成できます。

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

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

このルールを選択した技術的な理由が見つかりませんが、バグではありません。

関連情報