Bitbucket上的“ shell请求在通道0上失败”,“权限被拒绝(公钥)”但“身份验证成功”

时间:2019-04-26 11:49:37

标签: git ssh bitbucket

我正在尝试使用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上也遇到了这个问题,但是我看到他们将答案标记为正确的答案,但是这些问题对我没有用。我在这里很迷路。

1 个答案:

答案 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“