web-dev-qa-db-ja.com

パスワードなしのSSHで繰り返し発生する「エージェントがキーを使用した署名の失敗を認めた」エラー

ネットワーク上のマシンの1つ(Mint 12ワークステーション、最新)が定期的に不良状態になり、すべての発信SSH接続がパスワード認証にフォールバックし、キーを使用する代わりに「エージェントがキーを使用した署名に失敗したことを認めました」というエラーが表示されます構成されているベースの認証。

この状態になると、すべての発信接続で100%失敗します。着信キーベースの認証は正常に接続しているように見えます。キーペアを削除して再生成し、公開キーを再配布しようとしましたが、エラーが解決しません。

再起動すると一時的にエラーが解決しますが、数日後に再び発生します。特定のイベント/ワークフローと一致していないようですが、何かが足りない可能性があります。

他の誰かがこれを見たことがありますか?

1
cmckendry

ここでの「エージェント」はssh-agentです。これは、秘密鍵をメモリにロードし、将来のssh接続で使用できるように保持するため、パスワードを再入力する必要はありません。どこかにあるように見えますが、キーを忘れるように命令されています(ディスクにサスペンド/ハイバネーションしていますか?暗号化されていないキーがディスクに書き込まれないようにするためです)、またはバグが原因でキーを忘れてしまいますキー。いずれにせよ、ssh-addを使用すると、キーをエージェントに戻すことができます。

私はかなりsshが何らかの理由でssh-agentと通信できなかった場合、別のエラーメッセージが表示されることは間違いありません。 ssh-addが認証エージェントへの接続を開くことができないと言った場合、本当の問題は、実行が停止したか、エージェントとの連絡方法をsshに指示する環境変数が行方不明になった、またはソケットファイルが消えた。これが発生しているときに環境変数$SSH_AUTH_SOCK$SSH_AGENT_PIDの両方がまだ設定されている場合(echo $SSH_AGENT_PIDを使用)、$SSH_AGENT_PIDによって参照されるssh-agentプロセスがまだ実行されていることを確認してください。もしそうなら、$SSH_AUTH_SOCKのソケットファイルはまだそこにあります。ソケットを削除している積極的な/tmpクリーニングプロセスがある可能性があります。

2
DerfK