2016-03-04 90 views
0

我是初学者,Rails,GitCapistrano试图部署我的第一个应用程序。通过SSH连接到使用Capistrano的Bitbucket时出错

我已经安装了一个VPS,安装了Ubuntu,NginxUnicorn,现在想用Capistrano进行部署。我的应用存储在Bitbucket存储库中。

为了检查我是否正确设置Capistrano我运行了以下命令。

$ cap production git:check$ cap production deploy:check

然而这些,给了我以下错误:

INFO [c65cf8c7] Running /usr/bin/env mkdir -p /tmp/testapp/ as [email protected][IP] 
DEBUG [c65cf8c7] Command: /usr/bin/env mkdir -p /tmp/testapp/ 
Text will be echoed in the clear. Please install the HighLine or Termios libraries to suppress echoed text. 
[email protected][IP]'s password: [password] 
INFO [c65cf8c7] Finished in 31.340 seconds with exit status 0 (successful). 
DEBUG Uploading /tmp/testapp/git-ssh.sh 0.0% 
INFO Uploading /tmp/testapp/git-ssh.sh 100.0% 
INFO [2dbfc686] Running /usr/bin/env chmod +x /tmp/testapp/git-ssh.sh as [email protected][IP] 
DEBUG [2dbfc686] Command: /usr/bin/env chmod +x /tmp/testapp/git-ssh.sh 
INFO [2dbfc686] Finished in 0.017 seconds with exit status 0 (successful). 
INFO [b0c6add8] Running /usr/bin/env git ls-remote --heads [email protected]:[USER]/testapp.git as [email protected][IP] 
DEBUG [b0c6add8] Command: (export GIT_ASKPASS="/bin/echo" GIT_SSH="/tmp/testapp/git-ssh.sh" ; /usr/bin/env git ls-remote --heads [email protected]:[USER]/testapp.git) 
DEBUG [b0c6add8]  Warning: Permanently added 'bitbucket.org,104.192.143.3' (RSA) to the list of known hosts. 
DEBUG [b0c6add8]  Error reading response length from authentication socket. 
DEBUG [b0c6add8]  Permission denied (publickey). 
DEBUG [b0c6add8]  fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 
(Backtrace restricted to imported tasks) 
cap aborted! 
SSHKit::Runner::ExecuteError: Exception while executing as [email protected][IP]: git exit status: 128 
git stdout: Nothing written 
git stderr: Warning: Permanently added 'bitbucket.org,104.192.143.3' (RSA) to the list of known hosts. 
Error reading response length from authentication socket. 
Permission denied (publickey). 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

SSHKit::Command::Failed: git exit status: 128 
git stdout: Nothing written 
git stderr: Warning: Permanently added 'bitbucket.org,104.192.143.3' (RSA) to the list of known hosts. 
Error reading response length from authentication socket. 
Permission denied (publickey). 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

Tasks: TOP => git:check 
(See full trace by running task with --trace) 

好像不顺心的事与SSH认证,标准Git命令为pushpull我的混帐存储库工作正常。

格罗姆我的本地机器$ ssh -T [email protected]告诉我:

Warning: Permanently added the RSA host key for IP address '104.192.143.7' to the list of known hosts. 
logged in as [USER]. 
You can use git or hg to connect to Bitbucket. Shell access is disabled. 

从我[email protected]帐户:ssh -T [email protected]

Warning: Permanently added the RSA host key for IP address '104.192.143.7' to the list of known hosts. 
Permission denied (publickey). 

任何想法的?

回答

1

Capistrano试图在部署目标处检出git存储库,即在VPS。因此,您需要获得从VPS机器上的bitbucket的ssh连接。

我想你的ssh身份在你的本地主机和VPS上是不同的,而且你只配置了本地机器的ssh密钥在bitbucket中。

您可以在您的本地机器上比较~/.ssh/id_rsa.pub,并在您的VPS上登录为developer?如果密钥不同,则需要将VPS中的公用ssh密钥(id_rsa.pub文件)添加到bitbucket配置,以便您可以使用ssh从VPS连接到bitbucket。

+0

谢谢。而已。我仍然收到错误:'错误读取身份验证套接字的响应长度,但它现在成功完成。干杯! – Matthias