我在一个代理下,我正在成功地推入git一段时间 现在我不能推进git突然。 我已经设置了RSA密钥和代理,并仔细检查了它们,但没有效果,git向我抛出了页面标题中显示的错误
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
Git提供了一种使用Git配置重写url的方法。只需发出以下命令:
git config --global url."https://".insteadOf git://
现在,就像变魔术一样,所有git命令都将执行git://替换为https://
git://
https://
< em >来源: git://协议被公司阻止,我怎么能绕过它? < / p >
执行:
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
我也有同样的问题,但我发现的答案是不同的,认为有人可能会遇到这个问题,所以这是我的解决方案。
我必须为端口22, 80, 443和9418列出2个ip:
22
80
443
9418
192.30.252.0/22
185.199.108.0/22
如果这些IP不能工作,可能是因为它们更新了,你可以在这个页面上找到最新的IP。
快速解决方法:尝试切换到不同的网络
我在热点(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连接进行克隆。大多数防火墙规则应该允许这样做,但是代理服务器可能会干涉
希望这能帮助到其他和我有同样问题的人。
在。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
上面的答案为我提供了解决这个问题所需的信息。在我的例子中,url错误地以ssh:///开头
要检查git配置中的url是否正确,请打开git配置文件:-
检查url条目。它在开始时不应该有ssh:///。
不正确的条目:
url = ssh:///git@github.com:username/repo.git
正确的条目:
如果您的url是正确的,那么下一步将是尝试上面建议将协议更改为http的答案。
当我不小心切换到客人 wifi网络时,我得到了这个错误。不得不切换回我的默认的 wifi网络。
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连接,但没有用。
~/.ssh/config
最后,我发现这个文章解决并暴露了真正的问题。
# 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工作得很好!
我有这个问题2个小时,结果是从https中删除“s”,只需做:
git clone -b <branchName> http:<projecturl>
固定它。
<强>问题: 产生问题的步骤:git克隆git@github.com:sramachand71/test.git 这是新笔记本电脑里的第一次 错误 ssh:连接到主机github.com端口22:连接超时
请确保您有正确的访问权限 并且存储库存在。 解决方案 第一次在系统中克隆时,我们需要给clone命令加双引号。 $ git克隆“git@github.com:sramachand71/test.git” 我在系统中遇到这个问题,即使一切都是正确的,但最后注意到双引号是url“repository_url”必须的。
将repo url从ssh更改为https对我来说没有多大意义。因为我更喜欢ssh而不是https,因为我不想放弃一些额外的好处。以上答案都很好,也很准确。如果你在GitLab中遇到这个问题,请去他们的官方文档页面并像那样更改你的配置文件。
ssh
https
Host gitlab.com Hostname altssh.gitlab.com User git Port 443 PreferredAuthentications publickey IdentityFile ~/.ssh/gitlab
2.27.0.windows.1
Windows 10
主要原因是公司最近安装的代理发生了变化,阻止了公司域以外的其他ssh连接。
我可以通过以下步骤成功连接:
它应该在一个超时中结束。
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@
github:username
github/username
最后通过执行git fetch来验证
git fetch
我在我的服务器上有这个问题,它是用常规IP和故障转移IP设置的。此时,故障转移IP没有指向服务器。我必须从/etc/netplan/01-netcfg.yaml中的服务器配置中删除故障转移IP。将故障转移IP指向该服务器也可能解决了这个问题。
/etc/netplan/01-netcfg.yaml
ssh -T git@bitbucket.org or git pull.
在与Ludder类似的失败模式中,当我还没有登录到正确的公司VPN时,我就得到了这个错误。facepalm指:
从终端刷新我的互联网连接和git__abc0功能对我来说很有效。
试试这个ssh -T -p 443 git@ssh.github.com而不是ssh -T git@github.com
ssh -T -p 443 git@ssh.github.com
我的电脑在连接到Github时无法连接22端口。我用bitbucket从来没有这个问题。如果你同时拥有GitHub和bitbucket
Host bitbucket.org Hostname altssh.bitbucket.org Port 443 Host github.com Hostname ssh.github.com Port 443
< a href = " https://stackoverflow.com/questions/52057705/how-to-resolve-port-22-connection-timeout " > ref < / >
它基本上在443端口连接SSH,而不是22端口。
建议检查网络连接或重新连接。
所以我也遇到了同样的问题(不是在代理之后),然后遇到了这个问题。下面是我解决问题的方法:
尝试运行ssh -T git@github.com,它确实超时了,但添加-o KexAlgorithms=ecdh-sha2-nistp521成功地连接了(从这个答案找到了一个半相关的问题)。
-o KexAlgorithms=ecdh-sha2-nistp521
为了永久地修复这个问题,我只是在我的~/.ssh/config中的github.com下添加了一行KexAlgorithms=ecdh-sha2-nistp521。现在一切似乎都正常了。
github.com
KexAlgorithms=ecdh-sha2-nistp521
如果您在windows中,移动到您存储ssh密钥的目录,然后再试一次,这对我有用。
这个答案是基于@zundi对主要问题的评论(功劳应该归谁,谢谢zundi):
git push
我不知道为什么暂时连接到一个热点神奇地“kickstart"原来的网络连接。