使用forward_agent选项从Windows部署Capistrano选项:“从认证套接字读取响应长度时出错”.

前端之家收集整理的这篇文章主要介绍了使用forward_agent选项从Windows部署Capistrano选项:“从认证套接字读取响应长度时出错”.前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图使用Capistrano部署一个项目.我的开发机器正在运行 Windows 7;我正在部署的服务器是 Linux.

在deploy.rb脚本中,设置以下内容

ssh_options[:forward_agent] = true

Capistrano脚本从本地运行git命令开始,此时我被提示输入SSH密钥的密码:

* executing `deploy:update_code'
executing locally: "git ls-remote git@github.com: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 git@github.com: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.

如果我在deploy.rb中注释掉forward_agent行,则此安装成功,大概是使用部署服务器本身的密钥.

我的SSH密钥似乎正在工作 – 毕竟,最初的git命令可以使用,我可以使用git push / pull和ssh -T git@github.com报告它应该是什么(根据github:help的建议).

我假设我的机器在远程服务器要求他们时没有提供密钥.经过很多谷歌搜索,我在http://hustoknow.blogspot.co.uk/2011/06/ssh-agent-and-agent-forwarding-on.html发现了建议,它解释了如何在启动时运行ssh代理.我正在从命令提示符执行所有这一切,所以我然后切换到git-bash,并设置我的.bash_profile,以包括链接的脚本.

添加后,当我第一次启动git bash时,我被提示输入密码,然后我可以使用SSH密钥连接到github(而不必重新输入密码).此外,ssh-add -L报道确实有一个钥匙可用.所以一切似乎正确设置!

但是,我仍然收到“从认证套接字读取响应长度的错误”.错误.

有任何想法吗?这适用于我的同事(相同的deploy.rb文件),其开发机器是Linux.

这是net-ssh为 described here错误

猜你在找的Windows相关文章