我在代理下,并且在相当长一段时间内成功推动git。
现在,我无法一下子推入git。
我已经设置了RSA密钥和代理,并仔细检查了它们,但无济于事,git向我抛出了页面标题中显示的错误。
1.1.1.1
而不是使用默认DNS ,这就是@zundi通过移动热点成功的原因。
我在代理下,并且在相当长一段时间内成功推动git。
现在,我无法一下子推入git。
我已经设置了RSA密钥和代理,并仔细检查了它们,但无济于事,git向我抛出了页面标题中显示的错误。
1.1.1.1
而不是使用默认DNS ,这就是@zundi通过移动热点成功的原因。
Answers:
原因可能是您在网络中时对防火墙的修改。(在这种情况下,它们可能会故意阻止某些端口)
要再次检查这是否是原因...
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
就我而言,建议的解决方案均无效,因此我尝试自己进行修复,并解决了。
对我来说,我在我的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/config
并更改连接到GitLab.com的方式。在这种情况下,看到这篇文章:about.gitlab.com/2016/02/18/...
git
配置而是ssh
配置
Git提供了一种使用git config重写URL的方法。只需发出以下命令:
git config --global url."https://".insteadOf git://
现在,就像魔术一样,所有git命令都将替换git://
为https://
git config --global url."https://github.com/".insteadOf git@github.com:
。请注意差异:@
变成//
和:
变成/
。
在.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.
因此,我尝试通过编辑配置文件使用通过HTTPS端口建立的SSH连接, ~/.ssh/config
但无济于事。
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可以很好地工作!
执行:
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
nc
安装。那应该是什么?Netcat还是什么?
我遇到了相同的问题,但是我发现的答案有所不同,以为有人可能会遇到此问题,因此这是我的解决方案。
我不得不白名单2层的IP端口22
,80
,443
和9418
:
192.30.252.0/22
185.199.108.0/22
如果这些IP不起作用,可能是因为它们已更新,您可以在此页面上找到最新的IP 。
我有两个小时的问题,结果是从https中删除“ s”,然后执行以下操作:
git clone -b <branchName> http:<projecturl>
解决它。
问题: 产生问题的步骤: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”使用双引号在系统中。
将回购网址从ssh更改为https对我来说意义不大。正如我更喜欢的那样ssh
,https
因为我不想放弃某些额外的好处。以上答案非常准确。如果您在GitLab中遇到此问题,请转到其官方文档页面,并像这样更改您的配置文件。
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab
git push
。为我工作。