ssh
いくつかのコマンドを含む Makefile がありますrsync
。これらはすべてエラーなしで実行されますが、次のエラー メッセージが表示されます。
Error reading response length from authentication socket.
不可解なエラー メッセージは好きではありません。その意味と修正方法をご存知ですか?
答え1
エラー メッセージに関する Google の検索結果のほとんどでは、次の方法で問題が解決することが示されています。
eval $(ssh-agent)
ssh-add
このエラーの原因はいくつか考えられ、何が起こっているのかを確認するにはそれぞれのケースを分析する必要があります。
SSH_AUTH_SOCK
ssh-agent が起動すると、と の2 つの環境変数が設定されます。SSH_AGENT_PID
エージェントを別のホストから転送する場合、後者は設定されません。
SSH_AUTH_SOCK
エラー メッセージに記載されている「認証ソケット」です。
ローカル エージェント (SSH_AGENT_PID
が設定されています) がある場合は、プロセスが終了したか、ソケットに書き込むことができない可能性があります。
転送エージェントがある場合は、リモート エンドがソケットを閉じたか、ローカル プロセスが転送ソケットから読み取れない可能性があります。
もちろん、他にも原因は考えられますが、これらは私が今思いつく、または私自身が遭遇した原因です。
それぞれのケースを診断する必要があり、strace
それlsof
を支援することができます。
また、他の人の提案に従って新しいエージェントを開始し、もっと楽しいことに進むこともできます ;)