Ho un Makefile con alcuni ssh
e rsync
comandi. Tutti vengono eseguiti senza errori, ma danno il seguente messaggio di errore:
Error reading response length from authentication socket.
Non mi piacciono i messaggi di errore enigmatici:sai cosa significa e come risolverlo?
Risposta accettata:
La maggior parte dei risultati di Google per il messaggio di errore mostra che questo risolve il problema:
eval $(ssh-agent)
ssh-add
Le ragioni di questo errore possono essere diverse e dovresti analizzare ogni caso per vedere cosa sta succedendo.
Quando ssh-agent si avvia, imposta due variabili di ambiente:SSH_AUTH_SOCK
e SSH_AGENT_PID
. Se stai inoltrando il tuo agente da un altro host, quest'ultimo non verrà impostato.
SSH_AUTH_SOCK
è il "presa di autenticazione" menzionato nel messaggio di errore.
Se hai un agente locale (SSH_AGENT_PID
è impostato) è possibile che il processo sia terminato o non sia in grado di scrivere sul socket.
Se hai un agente di inoltro è probabile che l'estremità remota abbia chiuso il socket o che il processo locale non sia in grado di leggere dal socket di inoltro.
Ci sono altre possibili cause ovviamente, ma queste sono quelle che mi vengono in mente in questo momento o che ho incontrato io stesso.
Dovrai diagnosticare ogni caso, strace
e lsof
può aiutare in questo.
Poi di nuovo, potresti semplicemente avviare un nuovo agente come suggerito da tutti gli altri e passare a qualcosa di più divertente 😉