ssh
我有一個包含一些命令的 Makefile rsync
。全部執行都沒有錯誤,但是給出以下錯誤訊息:
Error reading response length from authentication socket.
我不喜歡神秘的錯誤訊息 - 你知道它的含義以及如何修復它嗎?
答案1
大多數錯誤訊息的谷歌結果表明這解決了問題:
eval $(ssh-agent)
ssh-add
導致此錯誤的原因可能有多種,您必須分析每種情況才能了解發生了什麼情況。
當 ssh-agent 啟動時,它會設定兩個環境變數:SSH_AUTH_SOCK
和SSH_AGENT_PID
。如果您從另一台主機轉送代理,則不會設定後者。
SSH_AUTH_SOCK
是錯誤訊息中提到的「身份驗證套接字」。
如果您有本機代理程式(SSH_AGENT_PID
已設定),則進程可能會死亡或無法寫入套接字。
如果您有轉發代理,則遠端可能關閉了套接字,或者本機進程無法從轉發套接字讀取資料。
當然還有其他可能的原因,但這些是我現在能想到的或是我自己遇到的。
您必須診斷每個病例,strace
並lsof
可以提供協助。
話又說回來,你可以按照其他人的建議開始一個新的代理,然後繼續做一些更有趣的事情;)