我在代理下,我在相当长的一段时间内成功地推进。 现在我突然不能进入git了。 我已经设置了RSA密钥和代理,并仔细检查了它们,没有效果,git抛出了页面标题中显示的错误。
当前回答
将repo url从ssh更改为https对我来说没有多大意义。因为我更喜欢ssh而不是https,因为我不想放弃一些额外的好处。以上答案都很好,也很准确。如果你在GitLab遇到这个问题,请去他们的官方文档页面,并像那样修改你的配置文件。
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab
其他回答
原因可能是防火墙修改,因为您处于网络中。(在这种情况下,他们可能会故意封锁一些端口) 再次确认这是否是原因…做
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
问题
产生问题的步骤:git克隆git@github.com:sramachand71/test.git 这是新笔记本电脑里的第一次
错误
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
解决方案
第一次在系统中克隆时,我们需要给clone命令加双引号。
$ git clone "git@github.com:sramachand71/test.git"
我在系统中遇到这个问题,即使一切都是正确的,但最后注意到双引号是url“repository_url”必须的。第一次或新用户在系统中。
主要原因是公司最近安装的代理发生了变化,阻止了公司域以外的其他ssh连接。
我可以通过以下步骤成功连接:
仔细检查,这个问题是我所假设的 ssh -T git@github.com
它应该在一个超时中结束。
编辑本地远程URL
SSH配置——local -e
从
url = git@github。com: asheeshjanghu / Journal git。
to
url = https://github.com/asheeshjanghu/Journal.git
重要的一点是,在url中,你必须在2个地方改变。
从git@到https://,从github:username到github/username
最后通过git获取来验证
基本URL重写
Git提供了一种使用Git配置重写url的方法。只需发出以下命令:
git config --global url."https://".insteadOf git://
现在,就像变魔术一样,所有git命令都将执行git://到https://的替换
来源: git://协议被公司阻止,我怎么能绕过它?
我也遇到了同样的问题,但找不到有效的解决方案。我在设置本地服务器时遇到了这个问题,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工作得很好!
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别