我在代理下,我在相当长的一段时间内成功地推进。 现在我突然不能进入git了。 我已经设置了RSA密钥和代理,并仔细检查了它们,没有效果,git抛出了页面标题中显示的错误。


当前回答

上面的答案为我提供了解决这个问题所需的信息。在我的例子中,url错误地以ssh:///开头

要检查git配置中的url是否正确,请打开git配置文件:-

git config --local -e

检查url条目。它在开始时不应该有ssh:///。

不正确的条目:

 url = ssh:///git@github.com:username/repo.git

正确的条目:

 url = git@github.com:username/repo.git

如果您的url是正确的,那么下一步将是尝试上面建议将协议更改为http的答案。

其他回答

快速解决方法:尝试切换到不同的网络

我在热点(3/4G连接)时遇到了这个问题。切换到不同的连接(WiFi)解决了这个问题,但这只是一个变通办法——我没有机会深入了解问题的根源,所以其他答案可能更有趣,可以确定潜在的问题

对于我的情况,建议的解决方案都不起作用,所以我尝试自己解决,并解决了它。

对我来说,我在我的AWS EC2 UBUNTU实例上得到了这个错误,我所做的解决方法是编辑ssh配置(或者如果它不存在的话添加它)。

Sudo nano ~/.ssh/config

我添加了以下内容

Host github.com
 Hostname ssh.github.com
 Port 443

执行命令ssh -T git@github.com确认问题是否解决。

根据这个

有时,防火墙完全拒绝SSH连接。如果不能使用带凭据缓存的HTTPS克隆,则可以尝试使用通过HTTPS端口建立的SSH连接进行克隆。大多数防火墙规则应该允许这样做,但是代理服务器可能会干涉

希望这能帮助到其他和我有同样问题的人。

将repo url从ssh更改为https对我来说没有多大意义。因为我更喜欢ssh而不是https,因为我不想放弃一些额外的好处。以上答案都很好,也很准确。如果你在GitLab遇到这个问题,请去他们的官方文档页面,并像那样修改你的配置文件。

Host gitlab.com
  Hostname altssh.gitlab.com
  User git
  Port 443
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/gitlab

这个答案是基于@zundi对主要问题的评论(功劳应该归谁,谢谢zundi):

在您的移动设备上创建热点并连接热点 git推 关闭您的移动设备上的热点并重新连接到原来的网络 Git推送继续工作

我不知道为什么临时连接到一个热点神奇地“启动”原来的网络连接。

原因可能是防火墙修改,因为您处于网络中。(在这种情况下,他们可能会故意封锁一些端口) 再次确认这是否是原因…做

ssh -T git@github.com

这应该会超时。 如果是这种情况,使用http协议而不是ssh 只需将配置文件中的url更改为http。 方法如下:-

git config --local -e

变更分录

 url = git@github.com:username/repo.git

to

url = https://github.com/username/repo.git