我正在尝试使用SSH克隆存储库而不是HTTPS,以查看速度是否更快(它是大型存储库)。我组织中的一名工作人员已成功验证并克隆了存储库(与我正在尝试克隆的存储库相同),但我的存储库一直失败。
git clone ssh://git@bitbucket.website.com/repo/repo.git
Permission denied (publickey)
fatal: Could not read from remote repository
当我尝试使用-Tv
标志通过SSH进入服务器时,得到以下输出:
debug1: Found key in /home/user/.ssh/known_hosts:6
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/user/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug1: Authentication succeeded (publickey).
Authenticated to bitbucket.website.com ([123.123.123]:7999).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: pledge: network
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
shell request failed on channel 0
如您所见,它可以正确验证我的身份,但出于某些原因会用shell request failed on channel 0
我已将我的SSH公钥输入到https://bitbucket.website.com/plugins/servlet/ssh/account/keys/add(以ssh-rsa XXXXXXXXX
开头)
我已通过ssh-keygen
验证了私钥/home/user/.ssh/id_rsa
确实在Bitbucket中附加了公钥。
我的私钥 IS 受密码保护。我知道的事实是没人能拥有的。
另一个人的私钥受未密码保护。
另一个人的SSH URL是initials@bitbucket.website.com
,Bitbucket会自动为我显示git@bitbucket.website.com
。我确实尝试使用缩写来代替,但是得到的响应完全相同。
许多人在StackOverflow上也遇到了这个问题,但是我看到他们将答案标记为正确的答案,但是这些问题对我没有用。我在这里很迷路。
答案 0 :(得分:0)
我遇到了类似的问题。一旦更改了git clone
命令以包括端口(在我的情况下为默认的7999),它就起作用了。当我尝试使用ssh -T
时,我包括了端口,但是在尝试实际的git clone
命令时却忘记了。
git clone ssh://git@bitbucket.website.com:7999/repo/repo.git
摘自https://confluence.atlassian.com/bitbucketserver/enabling-ssh-access-to-git-repositories-in-bitbucket-server-776640358.html的Atlassian文档
“例如,如果未设置SSH基本URL,并且Bitbucket Server基本URL为https://bitbucket.atlassian.com,并且SSH端口为7999,则项目Atlassian中的Jira存储库的SSH URL将为ssh:/ /git@bitbucket.atlassian.com:7999/ATLASSIAN/jira.git“