我正在努力遵循有关身份验证的文档&capistranorb.com上的授权,但他们使用github,我使用bitbucket。有一个地方我被卡住了,因为控制台的输出不同。
文章中描述的生产服务器上名为deploy的用户已经存在。我可以用ssh登录他的帐户。比特桶中的回购设置正确。我的一位同事可以毫无问题地部署该项目,所以问题在于我对密钥的个人设置。我试着按照上的指示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代理转发ssh密钥授权有关,而我的密钥是在没有密码的情况下设置的,因为我不知道你需要密码。)
ssh代理无法理解基于HTTPS的URL。您需要指定一个类似MyBitbucketUser@bitbucket.org:myfirm/myproject.git
的SSH URL。(git@bitbucket.org:myfirm/myproject.git
也可以,ssh://MyBitbucketUser@bitbucket.org/myfirm/myproject.git
也可以。)