当我通过ssh进行克隆时,我会出现如下错误:
禁止致命:无法从远程存储库读取。
请确保您拥有正确的访问权限和存储库存在。
我已经学习了一些教程。pub密钥在个人设置中添加到我的帐户=>安全性=>SSH密钥
有一个故障排除页面。我用加载了密钥
ssh添加
如果我运行
ssh -T git@bitbucket.org
我有
通过ssh密钥进行身份验证。
您可以使用git连接到Bitbucket。外壳访问被禁用
此响应不适用于任何情况,它不显示公钥错误等。最接近的情况,即正确的响应是:
authenticated via ssh key.
"conq: logged in as username."
You can use git to connect to Bitbucket. Shell access is disabled
"我的案子缺了一部分。
这就是为什么我无法通过其他帖子找到解决方案的原因。
我的端口22没有被阻塞,我可以通过ssh很好地连接到我的服务器或其他地方。我在家里做这件事,没有任何额外的防火墙。我可以使用密钥在Github上进行ssh克隆。
更新:
我删除了Bitbucket中的密钥,并尝试添加相同的密钥。它显示了一个复制错误:
有人已经添加了SSH密钥。
删除密钥后,我再次尝试ssh命令,它显示
通过ssh密钥进行身份验证。
理论上不存在重复的密钥。如果我添加了这个密钥,其他人就不能再添加了。当我删除它时,这个密钥不应该再存在于他们的数据库中,所以ssh命令应该给出无效的pubkey错误,并且当我尝试将它添加到数据库中时,不应该有重复错误。
我真的觉得我在Bitbucket上的账户有漏洞,但我真的相信这会发生。
如果您的$HOME/.ssh
中有多个私钥用于访问远程存储库,则您的git命令可能使用了错误的私钥(即使您向ssh代理添加了正确的密钥并删除了其他密钥,并且ssh -T git@bitbucket.org
成功(。尝试显式指定要与环境变量一起使用的SSH密钥:
GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_example -F /dev/null" git clone example
如果有效,请学习如何告诉git要使用哪个私钥并永久保存设置。
我的端口22没有被阻塞,我可以很好地通过ssh连接到我的服务器或其他地方。
在工作中,我还可以通过ssh连接到企业LAN(局域网(中的其他服务器。
但我肯定不能通过SSH连接到任何面向互联网的服务器。
假设这里不是这样,它可能取决于您的操作系统、SSH版本和SSH密钥。
尝试使用新密钥:ssh-keygen -P "" -t rsa -f ~/.ssh/testbb
,然后将testbb.pub
注册到您的帐户中。
添加一个~/.ssh/config文件,其中包含:
Host bb
Hostname bitbucket.org
User git
IdentityFile ~/.ssh/testbb
并用CCD_ 5进行测试。
如果您通过ssh -T bitbucket.org
得到以下响应,那么您可以使用
authenticated via ssh key.
You can use git to connect to Bitbucket. Shell access is disabled
在我的机器上,我得到了同样的答案。我不确定你从哪里得到的信息,这个回复应该包含你的用户名,但这不是真的。
尝试一下,例如:
git clone git@bitbucket.org:atlassian/ssh-run.git