当我按照 github guide 中的第 5 点(测试所有内容)时,ssh 命令也永远挂起。根据该指南,我应该看到一条消息“Github 不提供 shell 访问”。以下是我的 ssh -vT [电子邮件受保护]
的输出debug1: Authentication succeeded (publickey).
Authenticated to github.com ([207.97.227.239]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LC_MESSAGES = en_US.UTF-8
debug1: Sending env LC_COLLATE = en_US.UTF-8
debug1: Sending env LANG = da_DK.UTF-8
debug1: Sending env LC_CTYPE = en_US.UTF-8
在我的情况下,端口 22 被防火墙阻止,如果您启用了 2 因素身份验证,则通过
https
进行克隆可能无法工作。相反,编辑您的 .ssh 配置以使用另一个端口。在您的终端中:
nano ~/.ssh/config
然后添加这个:
Host github.com
Hostname ssh.github.com
Port 443
GitHub 提供了几种不同的方式来连接到远程存储库。 我处于繁重的防火墙后面。 所有方法也会挂起除了使用http(不是https)。
例如,JavaHamcrest 项目提供(匿名):
您也可以尝试:
最后,在 UNIX 命令前面加上
GIT_TRACE=1
和 GIT_CURL_VERBOSE=1
,并使用 Git 选项 --verbose
获得最大调试输出。
示例:
env GIT_TRACE=1 GIT_CURL_VERBOSE=1 git clone --verbose http://github.com/hamcrest/JavaHamcrest.git
尝试使用 HTTPS 而不是 SSH。端口 22 可能被防火墙阻止。
例如而不是:
git clone [email protected]:repo-owner/my-project.git
通过
HTTPS
连接:
git clone https://[email protected]/repo-owner/my-project.git
我想我发现了错误。我正在使用的 WiMAX 路由器使 SSH 变得混乱。尝试另一个之后 互联网连接,很顺利。 WiMAX 路由器有品牌 “Alvarion”,根据丹麦 Google 集团 NAT 的说法 路由器中的实现被破坏: http://groups.google.com/group/openspaceaarhus/browse_thread/thread/e99d96122a0522b7。
我已联系互联网供应商来调查此事。如果他们证明这与他们的路由器无关,我会将其发布在这里。
谢谢大家的评论,这让我意识到这可能是一个基础设施问题。
确保您已安装 ssh。
Ubuntu:
sudo apt-get install ssh
在 Windows / msys2 上也遇到同样的问题。 好像和路由器有关系。 我 ping github.com,然后使用我的用户名进行克隆
git clone https://[email protected]/cchamberlain/<repo>
并且成功了。 不确定它是否是一次性的。
就我而言,我发现我的防病毒软件阻止了对 Github 的访问。弹出窗口出现在我所有窗口后面,我之前没有意识到。当我允许访问 GitHub 时,“ssh -vT [email protected]”命令起作用了。我还能够克隆存储库并将我的代码从本地推送到 Github。
当 gitclone 和 gitpush 永远挂起时要检查的事情没有错误消息
在我的例子中,IPV6 阻止克隆,我在 ssh 上禁用 ipv6 并且有效
我的愚蠢情况是,我更改了默认 SSH 端口
/etc/ssh/ssh_config
而不是 /etc/ssh/sshd_config
🙈
再次克隆它为我解决了这个问题。再试一次。
在我的例子中,出现了一个身份验证/授权弹出窗口,但不知何故最终被隐藏在其他窗口后面,所以我没有看到它。 我最小化其他窗口来找到它,登录,然后 git clone 正常继续。
就我而言,MacOS 钥匙串包含凭据,这些凭据最初是从 github.com 的 VS Code 提供的,用于 VS Code 同步功能。我不知道我在此期间更改了什么,也许切换到 2FA,但使用此凭据我无法从命令行登录 github.com,无论是通过 ssh 还是 https。在我删除 MacOS 钥匙串中的 github.com 条目后,它就可以工作了。
问题出在mtu上,我的问题是这样解决的:
sudo ip link set mtu 100 dev eth0
然后git克隆
如果您需要通过 ufw 允许
sudo ufw allow out on <yourAdapter> to any port 22 proto tcp
我只是在努力解决这个问题(更新为使用 API 令牌而不是密码后,自 21 年 7 月以来 github 上发生了变化)
对我有帮助的是在 git clone 中使用 http 而不是 https。
就这么简单。
就我而言,我的
/etc/resolv.conf
搞砸了,我注意到电脑甚至无法运行ping google.com
。解决了这个问题,生活就变得美好了。