Вопрос по – Развертывание Capistrano из Windows с использованием опции forward_agent: «Ошибка чтения длины ответа из сокета аутентификации».

12

Я пытаюсь развернуть проект с использованием Capistrano. Моя машина для разработки работает под управлением Windows 7; сервер, на котором я развертываю, - Linux.

В сценарии deploy.rb установлено следующее:

ssh_options[:forward_agent] = true

Сценарий Capistrano запускается с локального запуска команды git, после чего мне предлагается ввести фразу-пароль для моего ключа SSH:

* executing `deploy:update_code'
executing locally: "git ls-remote [email protected]:pathto/gitproject.git develop"
Enter passphrase for key '/c/Users/Sam/.ssh/id_rsa':
command finished in 6999ms

(Я удалил реальный путь git из приведенного выше, как вы, вероятно, можете видеть.)

Я ввожу свою фразу-пароль, и это прекрасно работает. Однако Capistrano затем пытается сделать что-то похожее на удаленной машине (переименовано в staging-server.com ниже), и я получаю ошибку - см. Заключительную строку этого фрагмента:

[staging-server.com] executing command
[staging-server.com] sh -c 'git clone [email protected]:pathto/gitproject.git /home/perstest/releases/20120412074500 && cd
/home/perstest/releases/20120412074500 && git checkout -b deploy 50eaf06d06d66fd20c3e55038276f420d8c308a8 && (echo 50eaf06d06d66fd20c3e55038
276f420d8c308a8 > /home/perstest/releases/20120412074500/REVISION)'
 ** [staging-server.com :: out] Initialized empty Git repository in /home/perstest/releases/20120412074500/.git/
 ** [staging-server.com :: err] Error reading response length from authentication socket.

Если я закомментирую строку forward_agent в deploy.rb, эта установка завершится успешно, предположительно с использованием ключа от самого сервера развертывания.

Кажется, мой SSH-ключ работает - в конце концов, начальная команда git работает, я могу использовать ее в git push / pull, и ssh -T [email protected] сообщает, что должен (как рекомендуется наGitHub: помощь).

Я предположил, что моя машина не обслуживала ключи, когда их запрашивал удаленный сервер. После ужасного гугла я нашел рекомендации наhttp://hustoknow.blogspot.co.uk/2011/06/ssh-agent-and-agent-forwarding-on.html, который объясняет, как запустить ssh-agent при запуске. Я делал все это из командной строки, поэтому я переключился на git-bash и настроил свой .bash_profile, чтобы он включал скрипт, с которым я связан.

После добавления этого мне было предложено ввести пароль при первом запуске git bash, а затем я мог подключиться к github с помощью ключа SSH (без необходимости повторного ввода пароля). Более того, ssh-add -L сообщил, что ключ действительно есть. Так что, кажется, все настроено правильно!

Тем не менее, я все еще получаю ответ «Ошибка чтения длины из сокета аутентификации». ошибка.

Есть идеи? Это работает для моего коллеги (тот же файл deploy.rb), чья машина разработки - Linux.

У меня есть точная проблема с коллегой, пытающимся развернуться из окон. У меня отлично работает в Mac OS X 10.7 kayaker243

Ваш Ответ

1   ответ
4
По-видимому, это исправлено сейчас:Fixed pageant support
Я не уверен, что ошибка, описанная на этой странице, точно такая же, как и та, которую я вижу, - сообщения об ошибках разные. Тем не менее, эта страница ссылаетсяa filed issue about agent forwarding and Windowsтак что, если это когда-нибудь будет исправлено, это, вероятно, также приведет к сортировке для моей ситуации, даже если конкретная ошибка отличается. Я фактически перешел на Linux (по другим причинам), так что это один из способов решения проблемы ;-) Sam

Похожие вопросы