Capistrano使用bitbucket进行部署 - 权限被拒绝(publickey)

时间:2015-06-11 13:45:48

标签: git ssh bitbucket

将公钥添加到bitbucket帐户后,ssh -T git@bitbucket.org返回(在Windows中):

The authenticity of host 'bitbucket.org (131.103.20.167)' can't be established.
RSA key fingerprint is 65:8c:1b:f2:6f:91:6b:5c:3b:ec:4a:46:46:74:7z:40.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bitbucket.org' (RSA) to the list of known hosts.
logged in as myusername.

You can use git or hg to connect to Bitbucket. Shell access is disabled.

我们确认bitbucket.org已添加到known_hostscap deploy命令返回:

Host key verification failed.
fatal: The remote end hung up unexpectedly

我们在deploy.rb文件中添加了以下两行:

ssh_options[:forward_agent] = true
default_run_options[:pty] = true

现在cap deploy会返回错误:

 Permission denied (publickey).

密钥不受密码保护。如果bitbucket接受了该密钥(ssh -T返回正确的信息),为什么我们仍然会遇到Permission denied错误。

1 个答案:

答案 0 :(得分:7)

您是否在远程服务器上运行ssh -T git@bitbucket.org命令并在那里确认了?我刚刚使用Capistrano检查了我部署的Linux服务器,并且在部署用户的.ssh / known_hosts文件中列出了bitbucket.org(它已经散列,但ssh-keygen -F bitbucket.org显示它)。

Capistrano SSH进入远程服务器,并从那里运行git checkout。它需要连接到Bitbucket的权限,尽管通过:forward_agent选项从源计算机授予访问权限。