我试图遵循capistranorb.com上有关身份验证和授权的文档,但是它们使用github,而我使用bitbucket。因为控制台的输出不同,所以在一个地方卡住了我。
本文中描述的名为生产服务器上的deploy用户存在。我可以进入他的帐户。 bitbucket中的仓库已正确设置。我的一位同事可以毫无问题地部署该项目,所以问题出在我个人设置的钥匙上。我尝试按照字母上https://capistranorb.com/documentation/getting-started/authentication-and-authorisation/上的说明进行操作。一步不起作用。
当我这样做
My-MacBook-Pro-2:myproject myuser$ git config remote.origin.url
输出为
https://MyBitbucketUser@bitbucket.org/myfirm/myproject.git
capistranorb上的文章说应该是
git@github.com:capistrano/rails3-bootstrap-devise-cancan.git
所以这里没有https,它说的是git @。
他们文档中的以下命令是
ssh -A deploy@one-of-my-servers.com 'git ls-remote git@github.com:capistrano/rails3-bootstrap-devise-cancan.git'
现在,当我这样做
ssh -A deploy@myproject.net 'git ls-remote https://MyBitbucketUser@bitbucket.org/myfirm/myproject.git'
我也会收到一个错误消息,并且如果我省略了https://
位。
如果我包含https://,则会收到错误消息:“致命:无法读取'https://DcsMarionDickten@bitbucket.org'的密码:没有这样的设备或地址”,否则,我得到的错误是:”。 。似乎不是git存储库”。
我应该补充一点,我已经设置了git以便在不要求我输入密码的情况下将其推送到bitbucket,我已经将公共密钥添加到了该帐户,这似乎可以正常工作。
这是怎么了?
(我也许应该补充一点,就是我的同事在使用ssh-agent来转发ssh密钥授权,并且我的密钥设置没有密码,这是一个事实,因为我不知道您是否需要有一个。)
答案 0 :(得分:0)
ssh-agent无法理解基于HTTPS的URL。您需要指定一个MyBitbucketUser@bitbucket.org:myfirm/myproject.git
之类的SSH URL。 (git@bitbucket.org:myfirm/myproject.git
和ssh://MyBitbucketUser@bitbucket.org/myfirm/myproject.git
也将起作用。)