ssh: «Ошибка чтения длины ответа из сокета аутентификации»

ssh: «Ошибка чтения длины ответа из сокета аутентификации»

У меня есть Makefile с некоторыми командами sshи rsync. Все они выполняются без ошибок, но выдают следующее сообщение об ошибке:

Error reading response length from authentication socket.

Мне не нравятся загадочные сообщения об ошибках. Знаете ли вы, что они означают и как их исправить?

решение1

Большинство результатов поиска Google по данному сообщению об ошибке показывают, что это решает проблему:

eval $(ssh-agent)
ssh-add

Причин возникновения этой ошибки может быть несколько, и вам придется проанализировать каждый случай, чтобы понять, что происходит.

При запуске ssh-agent устанавливаются две переменные среды: SSH_AUTH_SOCKи SSH_AGENT_PID. Если вы перенаправляете своего агента с другого хоста, последняя не будет установлена.

SSH_AUTH_SOCK— это «сокет аутентификации», упомянутый в сообщении об ошибке.

Если у вас установлен локальный агент ( SSH_AGENT_PID), возможно, процесс завершился или не может выполнить запись в сокет.

Если у вас есть пересылаемый агент, то, скорее всего, удаленный конец закрыл сокет или локальный процесс не может выполнить чтение из пересылаемого сокета.

Конечно, есть и другие возможные причины, но это те, которые я могу вспомнить прямо сейчас или с которыми столкнулся сам.

Вам придется диагностировать каждый случай, straceи lsofвы можете в этом помочь.

С другой стороны, вы можете просто создать нового агента, как предлагают все остальные, и перейти к чему-то более интересному ;)

Связанный контент