web-dev-qa-db-ja.com

ssh-agentからキーを削除できません。再起動しても役に立たない

少し前に、ssh-agentに削除できないキーが3つあることに気付きました。 ssh-add -lは3つのキーを示しました。私はssh-add -Dを実行し、「すべてのIDが削除されました」と通知されました。しかしすぐにssh-add -lは同じ3つのキーを示しました。

ログアウトしてから再度ログインしても、キーはまだ残っています。マシンを再起動しても、キーは残っています。 /tmpのキーリングディレクトリを削除すると、ssh-agentに接続できなくなりますが、ログアウトして再度ログインすると、キーが元に戻ります。彼らは不死身です。

私の知る限り、鍵は私のものであり、他人のものではありません。いつものローカルサービスにアクセスできます。しかし、ssh-addを使用してキーの1つを再度追加し、秘密キーファイルへのパスを指定すると、ssh-add -lの出力では、新しいキーの外観が異なります。

2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f /home/jruser/.ssh/jruser-keyname-20110418 (RSA)

対オリジナル:

2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f jruser 04/18/2011 keyname (RSA)

この振る舞いを賢明に説明する方法はありますか?私は本当に2つの質問があると思います:

  1. リブート後もキーはどのように保持されますか? sshに関する私の基本的な知識は、キーは常に手動で追加する必要があることを示唆しています。

  2. IDの削除についてssh-agent -Dが嘘をつくのはなぜですか?

18
Sean

バグのようです。私はUbuntu 10.10でも同様の振る舞いをしています。グーグル検索でDebianのバグレポートが見つかりました: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472477

表示していた余分なキーを削除するために、〜/ .sshディレクトリから移動しました。

11
mp3foley

キーは隠しディレクトリ/home/jruser/.ssh/にファイルとして保存されます。これにより、再起動後もキーが保持されます。私の推測では、ssh-add -Dはそれらをメモリから削除しているのですが、再起動すると.sshディレクトリから読み取られるため、それらは再び存在します。

3
pbsmind