Ich habe ein Makefile mit einigen ssh
und rsync
-Befehlen. Alle werden ohne Fehler ausgeführt, geben aber die folgende Fehlermeldung aus:
Error reading response length from authentication socket.
Ich mag keine rätselhaften Fehlermeldungen. Wissen Sie, was sie bedeuten und wie man sie behebt?
Antwort1
Die meisten Google-Ergebnisse für die Fehlermeldung zeigen, dass das Problem dadurch behoben wird:
eval $(ssh-agent)
ssh-add
Dieser Fehler kann verschiedene Gründe haben und Sie müssen jeden einzelnen Fall analysieren, um zu sehen, was los ist.
Beim Start von ssh-agent werden zwei Umgebungsvariablen eingerichtet: SSH_AUTH_SOCK
und SSH_AGENT_PID
. Wenn Sie Ihren Agenten von einem anderen Host aus weiterleiten, wird letztere nicht festgelegt.
SSH_AUTH_SOCK
ist der in der Fehlermeldung erwähnte „Authentifizierungs-Socket“.
Wenn Sie über einen lokalen Agenten verfügen ( SSH_AGENT_PID
ist festgelegt), ist der Prozess möglicherweise abgebrochen oder kann nicht in den Socket schreiben.
Wenn Sie über einen Weiterleitungsagenten verfügen, besteht die Möglichkeit, dass das Remote-Ende den Socket geschlossen hat oder der lokale Prozess nicht aus dem Weiterleitungs-Socket lesen kann.
Natürlich gibt es auch noch andere mögliche Ursachen, aber das sind die, die mir im Moment einfallen oder die mir selbst begegnet sind.
Sie müssen in jedem Einzelfall eine Diagnose stellen strace
und lsof
können dabei helfen.
Andererseits könnten Sie auch einfach einen neuen Agenten starten, wie von allen anderen vorgeschlagen, und zu etwas übergehen, das mehr Spaß macht ;)