2010-05-06 117 views
3

即时尝试使用capistrano在slicehost中部署应用程序。我可以使用相同的凭证通过SSH登录,但是当我尝试部署它,我得到以下错误:部署到slicehost时发生Capistrano错误

  • 执行`部署“
  • 执行`部署:更新” **交易:开始
  • 执行`部署:update_code” 本地执行的所有服务器 上更新所述缓存的结帐: “git的LS-远程[email protected]:xxx.git主”
  • 执行“如果[-d /家/ sdn/shared/cached-copy];然后cd/home/xxx/shared/cached-copy & & git fetch -q原点& & git reset -q --hard 910a97024a45f1304d6b50c8862605ea0f1cf829 & & git clean -q -d -x -f;其他的git克隆-q [email protected]:xxx.git /家庭/ XXX /共享/缓存拷贝& & CD /家庭/ XXX /共享/缓存拷贝& & git的结帐-q -b部署910a97024a45f1304d6b50c8862605ea0f1cf829; fi“ servers:[”173.203.79.208“] *** [deploy:update_code]回滚
  • 执行”rm -rf/home/xxx/releases/20100506160548;真正的“ 服务器:[”173.203.79.208“] ** [deploy:update_code]回滚时出现异常:Capistrano :: ConnectionError,连接失败:173.203.79.208(Net :: SSH :: Disconnect:远程关闭的连接主机) 连接失败:173.203.79.208(净:: SSH ::断开连接:连接远程主机关闭)

什么我做错了什么事,我应该添加到我的deploy.rb文件,以便要使它与slicehost一起工作吗?

+0

期待我的服务器日志,我得到如下: 5月6日16时44分08秒竞技场的sshd [14952]:拒绝了186.28.30.49(186.28.30.49) 连接5月6日16时44分十三秒竞技场sshd [14957]:拒绝连接186.28.30.49(186.28.30.49) – 2010-05-06 16:46:11

回答

1

Slicehost是否有权限从你的git服务器克隆存储库?如果你的git服务器需要ssh认证,你必须在你的主机上生成ssh密钥,并把你的主机的p你的git服务器上的ublic键。

如果不是这样,那么看起来它与在主机上运行git有关。但是“(Net :: SSH :: Disconnect:由远程主机关闭的连接)”闻起来像一个认证问题。

0

可以克林顿建议在您的服务器上生成一个密钥,或者您可以启用SSH代理转发。

这意味着您不必在服务器上生成新的SSH密钥。您使用您正在部署的计算机上已有的密钥,并且密钥为转发供在服务器上用于连接到您的git服务器。

您可以添加ssh_options[:forward_agent] = true到您的Capistrano的配方或添加主机配置到您的~/.ssh/config这样的:

Host <name> 
    HostName <ip or host> 
    User <username> 
    IdentityFile ~/.ssh/<filename> 
    ForwardAgent yes 

我更喜欢后者。

有一个非常深入讲解SSH代理转发了在www.unixwiz.net

1

我有同样的问题。

[email protected]:~/.ssh$ ls 
authorized_keys 

我已经在railsu和git中创建了.ssh文件。但是这个问题也在这里。

所以我不认为这个错误是身份验证问题。