Eu tenho um Makefile com alguns ssh
comandos rsync
. Todos eles são executados sem erros, mas apresentam a seguinte mensagem de erro:
Error reading response length from authentication socket.
Não gosto de mensagens de erro enigmáticas - você sabe o que isso significa e como corrigi-lo?
Responder1
A maioria dos resultados do Google para a mensagem de erro mostra que isso resolve o problema:
eval $(ssh-agent)
ssh-add
Os motivos desse erro podem ser vários e você terá que analisar cada caso para ver o que está acontecendo.
Quando o ssh-agent é iniciado, ele configura duas variáveis de ambiente: SSH_AUTH_SOCK
e SSH_AGENT_PID
. Se você estiver encaminhando seu agente de outro host, este último não será definido.
SSH_AUTH_SOCK
é o "soquete de autenticação" mencionado na mensagem de erro.
Se você tiver um agente local ( SSH_AGENT_PID
definido), é possível que o processo tenha morrido ou não consiga gravar no soquete.
Se você tiver um agente encaminhado, é provável que a extremidade remota tenha fechado o soquete ou o processo local não consiga ler o soquete de encaminhamento.
Existem outras causas possíveis, é claro, mas estas são as que consigo pensar agora ou que encontrei.
Você terá que diagnosticar cada caso strace
e lsof
poderá ajudar nisso.
Então, novamente, você poderia simplesmente iniciar um novo agente, conforme sugerido por todos os outros, e passar para algo mais divertido;)