当我在github guide中跟随第5点(测试一切)时,ssh命令也会永远挂起。根据指南,我应该收到一条消息“Github不提供shell访问”。以下是我的输出来自ssh -vT git@github.com
debug1: Authentication succeeded (publickey).
Authenticated to github.com ([207.97.227.239]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
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
答案 0 :(得分:35)
GitHub提供了几种连接远程仓库的方法。我在一个繁重的防火墙后面。所有方法也使用http(不 https)挂起,但除外。
例如,JavaHamcrest项目(匿名)提供:
您也可以尝试:
最后,在UNIX命令前加上GIT_TRACE=1
和GIT_CURL_VERBOSE=1
,并使用Git选项--verbose
来获得最大的调试输出。
示例:GIT_TRACE=1 GIT_CURL_VERBOSE=1 git clone --verbose http://github.com/hamcrest/JavaHamcrest.git
答案 1 :(得分:12)
尝试使用HTTPS而不是SSH 。端口22可能被防火墙阻止。
E.g。而不是:
git clone git@bitbucket.org:repo-owner/my-project.git
通过HTTPS
:
git clone https://username@bitbucket.org/repo-owner/my-project.git
答案 2 :(得分:11)
我想我发现了错误。我正在使用的WiMAX路由器混淆了SSH。尝试了另一个 互联网连接,它顺利。 WiMAX路由器是品牌 “奥维通”,并根据丹麦谷歌集团的NAT 路由器中的实现被破坏: http://groups.google.com/group/openspaceaarhus/browse_thread/thread/e99d96122a0522b7
我已联系互联网供应商调查此事。如果他们证明它与路由器无关,我会在这里发布。
感谢大家的评论,这让我意识到这可能是一个基础设施问题。
答案 3 :(得分:2)
确保已安装ssh。
Ubuntu:sudo apt-get install ssh
答案 4 :(得分:1)
我在Xubuntu上遇到了同样的问题。做ssh -Tv git@github.com
永远挂起。使用sudo ufw disable
禁用防火墙解决了这个问题。
答案 5 :(得分:1)
在Windows / msys2上遇到同样的问题。似乎是路由器的东西。我ping了github.com然后使用我的用户名克隆
git clone https://cchamberlain@github.com/cchamberlain/<repo>
它有效。不确定它是否是一次性的。
答案 6 :(得分:1)
在我的情况下,端口22被防火墙阻止,如果启用了2因子身份验证,则无法通过https
进行克隆。而是编辑.ssh配置以使用其他端口。在您的终端中:
nano ~/.ssh/config
然后添加此内容:
Host github.com
Hostname ssh.github.com
Port 443
答案 7 :(得分:0)
就我而言,我发现我的反病毒软件阻止了对Github的访问。弹出窗口出现在我以前没有意识到的所有窗口后面。我允许访问GitHub&#34; ssh -vT git@github.com"命令工作。我还能够克隆存储库并将我的代码从本地推送到Github。
答案 8 :(得分:0)
当 git clone 和 git push 永远挂起没有错误消息时要检查的事情
答案 9 :(得分:-1)
我只是在为此苦苦挣扎(更新为使用 API 令牌而不是密码后,自 7 月 21 日起在 github 上进行了更改)
帮助我的是在 git clone 中使用 http 而不是 https。
就这么简单。