我是代理人,我正在推动git成功了很长一段时间 现在我无法突然进入git 我已经设置了RSA密钥和代理并对它们进行了双重检查,没有用,git正在向我发送页面标题中显示的错误。
答案 0 :(得分:195)
原因可能是您在网络下进行防火墙修改。(在这种情况下,他们可能故意阻止某些端口)
要仔细检查这是否是原因......做
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
答案 1 :(得分:53)
就我而言,建议的解决方案均无效,因此我尝试自行修复并解决。
对我来说,我在我的AWS EC2 UBUNTU实例上遇到此错误,我解决该问题的方法是编辑git config(如果不存在,则添加它)。
sudo nano ~/.ssh/config
我添加了以下内容
Host github.com
Hostname ssh.github.com
Port 443
然后,运行命令ssh -T git@github.com
确认问题是否已解决。
根据this
有时,防火墙拒绝完全允许SSH连接。如果不能将HTTPS克隆与凭据缓存一起使用,则可以尝试使用通过HTTPS端口建立的SSH连接进行克隆。大多数防火墙规则都应该允许这样做,但是代理服务器可能会干扰
希望这对其他遇到与我一样的问题的人有所帮助。
答案 2 :(得分:37)
Git提供了一种使用git config重写URL的方法。只需发出以下命令:
git config --global url."https://".insteadOf git://
现在,好像通过魔术一样,所有git命令都会执行git://
替换为https://
源: git:// protocol blocked by company, how can I get around that?
答案 3 :(得分:4)
.ssh文件夹内 创建“配置”文件
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
答案 4 :(得分:2)
执行:
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
答案 5 :(得分:1)
我遇到了同样的问题,但我发现答案有所不同,以为有人可能会遇到这个问题,所以这是我的解决方案。
我必须为端口22
,80
,443
和9418
将2个IP列入白名单:
192.30.252.0/22
185.199.108.0/22
如果这些IP不起作用,可能是因为它们已更新,您可以在this page上找到最新的IP。
答案 6 :(得分:1)
快速解决方法:尝试切换到其他网络
在热点(3 / 4G连接)上,我遇到了此问题。切换到不同的连接(WiFi)可以解决问题,但这只是一种解决方法-我没有机会深入了解问题,因此其他答案对于确定潜在问题可能更有趣
答案 7 :(得分:1)
我遇到了2个小时的问题,结果从https中删除了“ s”,然后这样做:
application.yml
解决了。
答案 8 :(得分:1)
将回购URL从ssh更改为https对我来说意义不大。与ssh
相比,我更喜欢https
,因为我不想放弃某些额外的好处。以上答案非常准确。如果您在GitLab中遇到此问题,请转到其官方文档page并像这样更改您的配置文件。
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab
答案 9 :(得分:0)
刷新我的互联网连接和终端的 git reload 功能对我有用。
答案 10 :(得分:0)
在与 Ludder 类似的故障模式中,我在尚未登录到正确的公司 VPN 时收到此错误。 :脸掌:
答案 11 :(得分:0)
对我来说,问题出在ISP端。 Internet服务提供商未启用端口号。因此要求他们在我的网络上启用端口号,然后它开始工作。
仅用于测试:连接到移动热点并输入ssh -T git@bitbucket.org or git pull.
如果可行,请要求您的ISP启用该端口。
答案 12 :(得分:0)
我在使用常规IP和故障转移IP设置的我的服务器上遇到此问题。故障转移IP目前未指向服务器。我必须从/etc/netplan/01-netcfg.yaml
中的服务器配置中删除故障转移IP。将故障转移IP指向该服务器可能也可以解决该问题。
答案 13 :(得分:0)
主要原因是公司最近安装的代理服务器发生了更改,该代理服务器阻止了除与公司域的连接之外的其他ssh连接。
我可以按照以下步骤成功连接:
ssh -T git@github.com
它应该在超时后结束。
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
答案 14 :(得分:0)
重启计算机为我解决了它。
Git版本:2.27.0.windows.1
操作系统版本:Windows 10 v1909
答案 15 :(得分:0)
问题: 产生问题的步骤:git clone git@github.com:sramachand71 / test.git 新笔记本电脑中的第一次 错误 ssh:连接到主机github.com端口22:连接超时 致命:无法从远程存储库读取。
请确保您具有正确的访问权限 并且存储库存在。 解决方案 对于系统中的第一次克隆,我们需要为clone命令提供双引号。 $ git clone“ git@github.com:sramachand71 / test.git” 即使一切都正确,但我仍然在系统中遇到此问题,但最后发现,第一次或系统中的新用户必须对URL“ repository_url.git”进行双引号。
答案 16 :(得分:0)
我遇到了同样的问题,找不到可行的解决方案。我在设置本地服务器时遇到了这个问题,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.
因此,我尝试使用通过HTTPS端口建立的SSH连接,方法是编辑配置文件~/.ssh/config
,但无济于事。
Host github.com
Hostname ssh.github.com
Port 443
最后,我找到了这个article,它可以解决并暴露出真正的问题。
# 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可以很好地工作!
答案 17 :(得分:0)
当我不小心切换到
答案 18 :(得分:0)
以上答案为我提供了解决此问题所需的信息。在我的情况下,网址以ssh:///
开头要检查git config中的网址是否正确,请打开git config文件:-
git config --local -e
检查url条目。开头不应该带有ssh:///。
错误输入:
url = ssh:///git@github.com:username/repo.git
正确输入:
url = git@github.com:username/repo.git
如果您的网址正确,那么下一步就是尝试上述建议将协议更改为http的答案。