Подтвердить что ты не робот

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

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

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

ssh_options[:forward_agent] = true

Capistrano script запускается при запуске команды 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 git @github.com сообщает, что нужно (как рекомендуется github: help).

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

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

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

Любые идеи? Это работает для моего коллеги (такого же файла deploy.rb), машиной разработки которой является Linux.

4b9b3361