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


当前回答

问题

产生问题的步骤:git克隆git@github.com:sramachand71/test.git 这是新笔记本电脑里的第一次

错误

ssh: connect to host github.com port 22: Connection timed out
 fatal: Could not read from remote repository.

 Please make sure you have the correct access rights
 and the repository exists.

解决方案

第一次在系统中克隆时,我们需要给clone命令加双引号。

$ git clone "git@github.com:sramachand71/test.git"

我在系统中遇到这个问题,即使一切都是正确的,但最后注意到双引号是url“repository_url”必须的。第一次或新用户在系统中。

其他回答

所以我也遇到了同样的问题(不是在代理之后),然后遇到了这个问题。下面是我解决问题的方法:

尝试运行ssh -T git@github.com,它确实超时了,但是添加-o KexAlgorithms=ecdh-sha2-nistp521成功连接(从一个半相关问题的答案中找到)。

为了永久地解决这个问题,我只是在我的~/.ssh/config的github.com下添加了一行KexAlgorithms=ecdh-sha2-nistp521。现在一切似乎都正常了。

我的电脑在连接到Github时无法连接22端口。我用bitbucket从来没有这个问题。如果你同时拥有GitHub和bitbucket

Host bitbucket.org
Hostname  altssh.bitbucket.org
Port  443


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

ref

它基本上在443端口连接SSH,而不是22端口。

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

对我来说,我在我的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连接进行克隆。大多数防火墙规则应该允许这样做,但是代理服务器可能会干涉

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

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

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

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

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

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