我在代理下,我正在成功推进 git 很长一段时间。
现在我无法突然进入 git。
我已经设置了 RSA 密钥和代理并仔细检查了它们,但无济于事,git 向我抛出了页面标题中显示的错误。
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 连接进行克隆。大多数防火墙规则应该允许这样做,但代理服务器可能会干扰
希望这可以帮助遇到与我相同问题的其他人。
原因可能是您在网络下的防火墙修改。(在这种情况下,他们可能会故意阻止某些端口)
仔细检查这是否是原因......做
ssh -T git@github.com
这应该超时。如果是这种情况,请使用 http 协议而不是 ssh,
只需将配置文件中的 url 更改为 http。
方法如下:-
git config --local -e
更改条目
url = git@github.com:username/repo.git
到
url = https://github.com/username/repo.git
基本 URL 重写
Git 提供了一种使用 git config 重写 URL 的方法。只需发出以下命令:
git config --global url."https://".insteadOf git://
现在,就像变魔术一样,所有 git 命令都会执行git://
to的替换https://
在 .ssh 文件夹中创建“config”文件
Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
我遇到了同样的问题,找不到有效的解决方案。我在设置本地服务器时遇到了这个问题,git 无法通过我的代理网络连接,但我的工作站可以。这是我运行命令时的输出
ssh -vT git@github.com
ubuntu@server:~$ ssh -vT git@github.com
OpenSSH_7.2p2 Ubuntu-4ubuntu2.8, OpenSSL 1.0.2g 1 Mar 2016
debug1: Reading configuration data /home/ubuntu/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to github.com [13.234.176.102] port 22.
因此,我尝试通过编辑配置文件 ~/.ssh/config
来使用通过 HTTPS 端口建立的 SSH 连接,但无济于事。
Host github.com
Hostname ssh.github.com
Port 443
最后,我发现这篇文章解决并暴露了真正的问题。
# github.com
Host github.com
Hostname ssh.github.com
ProxyCommand nc -X connect -x <PROXY-HOST>:<PORT> %h %p
Port 443
ServerAliveInterval 20
User git
这是我的配置文件,现在 git 通过 ssh 运行良好!
快速解决方法:尝试切换到不同的网络
我在使用热点(3/4G 连接)时遇到了这个问题。切换到不同的连接(WiFi)解决了它,但这只是一种解决方法 - 我没有机会找到问题的根源,因此其他答案可能更有趣以确定潜在问题
执行:
nc -v -z <git-repository> <port>
您的输出应如下所示:
"Connection to <git-repository> <port> port [tcp/*] succeeded!"
如果你得到:
connect to <git-repository> <port> (tcp) failed: Connection timed out
您需要编辑 ~/.ssh/config 文件。添加如下内容:
Host example.com
Port 1234
对我来说,问题出在 ISP 方面。Internet 服务提供商未启用端口号。所以要求他们通过我的网络启用端口号并开始工作。
仅用于测试:连接到移动热点并键入ssh -T git@bitbucket.org or git pull.
如果它有效,然后请您的 ISP 启用该端口。
我遇到了同样的问题,但我找到的答案不同,认为有人可能会遇到这个问题,所以这是我的解决方案。
我必须将端口、、、和的 2 个 IP22
列入80
白443
名单9418
:
192.30.252.0/22
185.199.108.0/22
如果这些 IP 不起作用,可能是因为它们已更新,您可以在此页面上找到最新的。
在与 Ludder 类似的故障模式中,当我还没有登录到正确的公司 VPN 时,我收到了这个错误。:facepalm:
上面的答案为我提供了解决此问题所需的信息。在我的情况下,网址错误地以 ssh:/// 开头
要检查 git config 中的 url 是否正确,请打开 git config 文件:-
git config --local -e
检查 url 条目。它不应该在开头有 ssh:///。
输入错误:
url = ssh:///git@github.com:username/repo.git
正确输入:
url = git@github.com:username/repo.git
如果您的 url 是正确的,那么下一步将是尝试上面建议将协议更改为 http 的答案。
当我不小心切换到访客wifi 网络时,我收到了这个错误。不得不切换回我的默认wifi网络。
将 repo url 从 ssh 更改为 https 对我来说意义不大。因为我不想放弃一些额外的好处,所以ssh
我更喜欢。https
上面的答案非常好和准确。如果您在 GitLab 中遇到此问题,请转到他们的官方文档页面并像这样更改您的配置文件。
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab
重新启动计算机为我解决了它。
Git 版本:2.27.0.windows.1
操作系统版本:Windows 10
主要原因是公司最近安装的代理发生了变化,它阻止了除公司域之外的其他ssh连接。
我能够按照以下步骤成功连接:
- 仔细检查问题是我所假设的
ssh -T git@github.com
它应该以超时结束。
- 通过编辑本地远程 URL
ssh config --local -e
并从
url=git@github.com:asheeshjanghu/Journal.git
到
url=https://github.com/asheeshjanghu/Journal.git
重要的一点是,您必须在 url 中更改 2 个位置。
从git@
到https://
和从github:username
到github/username
最后通过做一个验证git fetch
好的试试这个ssh -T -p 443 git@ssh.github.com
而不是ssh -T git@github.com
我有这个问题 2 小时,结果是从 https 中删除“s”,然后执行以下操作:
git clone -b <branchName> http:<projecturl>
修复。
ISSUE: 产生问题的步骤:git clone git@github.com:sramachand71/test.git 首次在新笔记本电脑中 错误 ssh:连接到主机 github.com 端口 22:连接超时致命:无法从远程读取存储库。
请确保您具有正确的访问权限并且存储库存在。 SOLUTION 在系统中第一次克隆我们需要给克隆命令加上双引号。$ git clone "git@github.com:sramachand71/test.git" 我在系统中遇到了这个问题,即使一切都正确,但最后注意到双引号对于第一次或新用户的 url "repository_url.git" 是必须的在系统中。
我在使用常规 IP 和故障转移 IP 设置的服务器上遇到了这个问题。此时故障转移 IP 未指向服务器。我不得不从/etc/netplan/01-netcfg.yaml
. 将故障转移 IP 指向该服务器可能也可以解决问题。
我的电脑在连接到 Github 时无法连接端口 22。我从来没有遇到过bitbucket的这个问题。如果您同时拥有 GitHub 和 bitbucket,那么
Host bitbucket.org
Hostname altssh.bitbucket.org
Port 443
Host github.com
Hostname ssh.github.com
Port 443
它基本上在 443 端口而不是 22 端口连接 SSH。
刷新我的 Internet 连接和终端的 git reload功能对我有用。