git clone hangs forever on github
When I follow point 5 (Test everything out) in the github guide, the ssh command also hangs forever. According to the guide, I should be presented with a message that "Github does not provide shell access". Below is my output from ssh -vT [email protected]
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
Solution 1:
GitHub offers a few different ways to connect to the remote repo. I am behind an onerous firewall. All methods also hang except using http (not https).
For example, the JavaHamcrest project offers (anonymously):
- https://github.com/hamcrest/JavaHamcrest.git
- [email protected]:hamcrest/JavaHamcrest.git
- git://github.com/hamcrest/JavaHamcrest.git
You may also try:
- http://github.com/hamcrest/JavaHamcrest.git
Finally, prefix your UNIX command with GIT_TRACE=1
and GIT_CURL_VERBOSE=1
, and use Git option --verbose
for maximum debug output.
Example: env GIT_TRACE=1 GIT_CURL_VERBOSE=1 git clone --verbose http://github.com/hamcrest/JavaHamcrest.git
Solution 2:
In my case port 22 was being blocked by a firewall, cloning via https
may not work if you have 2-factor authentication enabled. Instead edit your .ssh config to use another port. In your terminal:
nano ~/.ssh/config
then add this:
Host github.com
Hostname ssh.github.com
Port 443
Solution 3:
Try using HTTPS instead of SSH. Port 22 might be blocked by a firewall.
E.g. instead of:
git clone [email protected]:repo-owner/my-project.git
Connect via HTTPS
:
git clone https://[email protected]/repo-owner/my-project.git