我在代理下,我在相当长的一段时间内成功地推进。 现在我突然不能进入git了。 我已经设置了RSA密钥和代理,并仔细检查了它们,没有效果,git抛出了页面标题中显示的错误。
当前回答
原因可能是防火墙修改,因为您处于网络中。(在这种情况下,他们可能会故意封锁一些端口) 再次确认这是否是原因…做
ssh -T git@github.com
这应该会超时。 如果是这种情况,使用http协议而不是ssh 只需将配置文件中的url更改为http。 方法如下:-
git config --local -e
变更分录
url = git@github.com:username/repo.git
to
url = https://github.com/username/repo.git
其他回答
上面的答案为我提供了解决这个问题所需的信息。在我的例子中,url错误地以ssh:///开头
要检查git配置中的url是否正确,请打开git配置文件:-
git config --local -e
检查url条目。它在开始时不应该有ssh:///。
不正确的条目:
url = ssh:///git@github.com:username/repo.git
正确的条目:
url = git@github.com:username/repo.git
如果您的url是正确的,那么下一步将是尝试上面建议将协议更改为http的答案。
我在我的服务器上有这个问题,它是用常规IP和故障转移IP设置的。此时,故障转移IP没有指向服务器。我必须从/etc/netplan/01-netcfg.yaml中的服务器配置中删除故障转移IP。将故障转移IP指向该服务器也可能解决了这个问题。
执行:
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白名单:
192.30.252.0/22 185.199.108.0/22
如果这些IP不能工作,这可能是因为他们更新了,你可以在这个页面上找到最新的。
为我解决这个问题的是在密钥文件上执行ssh-add。
ssh-add C:/Path/To/Key.pem
C: / Users / User / .ssh / config:
Host sshapp
Hostname ssh.github.com
IdentityFile C:/Path/To/Key.pem
Port 443
然后克隆使用:
>git clone git@sshapp:<git_user>/app.git
Cloning into 'app'...
The authenticity of host '[ssh.github.com]:443 ([140.82.121.35]:443)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6T.....vCOqU.
推荐文章
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 在SSH会话中查找客户端的IP地址
- 跟踪所有远程git分支作为本地分支
- 自定义SSH端口上的Git
- git如何显示不存在于.gitignore中的未跟踪文件
- Git错误:遇到7个文件应该是指针,但不是
- GitHub克隆与OAuth访问令牌
- 移动(或“撤销”)最后一个git提交到非暂存区域
- 我可以在GitHub上对要点进行拉请求吗?
- Hg:如何做一个像git的rebase
- 如何丢弃远程更改并将文件标记为“已解决”?
- 如何查看远程标签?
- Git:在推送后删除提交的文件
- Git分支之间的视觉差异