I am under a proxy and I am pushing in to git successfully for quite a while.
Now I am not able to push into git all of a sudden.
I have set the RSA key and the proxy and double checked them, with no avail and git is throwing me the error shown in the title of the page.
- 7,204
- 4
- 19
- 26
-
12Create a hotspot on your mobile device, connect via your mobile device, then `git push`. Worked for me. – zundi Sep 12 '17 at 19:19
-
1For Jenkins, see: [Why is Jenkins failing when fetching from git?](https://stackoverflow.com/q/24813816/55075) – kenorb Jul 29 '19 at 22:17
-
2The same problem happened to me in the UK with Virgin Media. I tried to push/pull to GitHub via ssh at home and no luck but at work was fine. So I realised that I got problems with my ISP. The simple fix for me was to use Cloudflare DNS `1.1.1.1` instead of a default one that's why @zundi succeed through a mobile hotspot. – Vladyslav Krylasov Mar 18 '20 at 12:59
-
This worked for me -> https://gist.github.com/Tamal/1cc77f88ef3e900aeae65f0e5e504794 – Imran May 03 '21 at 18:41
-
Very weird! But I closed my Postman and it solved it!!! (Win10) – aderchox Dec 14 '21 at 21:06
-
@zundi I'm at an airbnb place and the host has done some funky things to his wifi. Thanks to you I was able to push. – Artur Müller Romanov Mar 18 '22 at 17:29
25 Answers
For my case none of the suggested solutions worked so I tried to fix it myself and I got it resolved.
For me I am getting this error on my AWS EC2 UBUNTU instance, what I did to resolve it was to edit the ssh config (or add it if it does not exist).
sudo nano ~/.ssh/config
And I added the following
Host github.com
Hostname ssh.github.com
Port 443
Then, run the command ssh -T git@github.com to confirm if the issue is fixed.
According to this
Sometimes, firewalls refuse to allow SSH connections entirely. If using HTTPS cloning with credential caching is not an option, you can attempt to clone using an SSH connection made over the HTTPS port. Most firewall rules should allow this, but proxy servers may interfere
Hopefully this helps anyone else who's having the same issue I did.
- 5,669
- 1
- 12
- 22
-
6This solution worked fine for me, although it didn't solve the issue for GitLab. In that case, please consider that GitLab.com runs a second SSH server that listens on the commonly used port 443, which is unlikely to be firewalled. All you have to do is edit your `~/.ssh/config` and change the way you connect to GitLab.com. In that case, see this article: https://about.gitlab.com/2016/02/18/gitlab-dot-com-now-supports-an-alternate-git-plus-ssh-port/ – lucascavalcante Dec 05 '18 at 03:14
-
2Hi, i had a same problem, my router is from NET and him block the 22 port. That config solved my problem definitely – Pedro Soares Jan 14 '19 at 17:40
-
-
3After hours of finding anwers... you're CHAMP, anyway why do we need to change github.com to ssh.github.com? I still don't get it – Robert Tirta Nov 20 '19 at 22:40
-
For create a ssh config file : https://linuxize.com/post/using-the-ssh-config-file/ – DLx Sep 16 '20 at 08:25
-
This solution worked for me as I'm working from an air bnb and I don't know which ports the home's router blocks. Thanks a lot! – Pericolo Nov 09 '20 at 15:30
-
-
-
-
Same as Pericolo, I'm at an airbnb which is probably blocking some ports, but this solution fixed it. Thanks Mahan! – laurent Jun 15 '21 at 10:53
-
I just stopped my router wifi and switched on my phone hotspot, connect to laptop, then push again, yes it's solved!! thank you – Sobhani Aug 19 '21 at 16:49
-
I had this problem for a long time, I thought it was my router that is blocking the ports, until I dicifi investigate well and download that possibility. Thank you very much, now it works very well. – MrEduar Aug 28 '21 at 19:04
-
I did this and now get this error: kex_exchange_identification: Connection closed by remote host....any ideas? – Samantha Cruz Dec 08 '21 at 14:52
-
The reason could be the firewall modification as you are under a network.(In which case they may deliberately block some ports)
To double check if this is the reason ... do
ssh -T git@github.com
this should timeout.
If that's the case use http protocol instead of ssh this way
just change your url in the config file to http.
Here is how :-
git config --local -e
change entry of
url = git@github.com:username/repo.git
to
url = https://github.com/username/repo.git
- 439
- 9
- 16
- 7,204
- 4
- 19
- 26
-
13
-
3fatal: unable to access 'https://gitlab.com:******.git/': Port number ended with 'f' – Fakher Sep 05 '17 at 14:06
-
I had to remove the .git from the url in order for this to work for me. url = https://github.com/username/repo/ – Jesse Buss Dec 21 '17 at 15:38
-
restarting my system did the job...sometimes your proxy gets updated once your systems restarts. – Max Jun 06 '18 at 10:37
-
21using https instead for ssh is not the right solution. There must a way to set proxy in git config and in ssh settings to solve this. – shijin Dec 01 '18 at 15:49
-
@VihariPiratla ok this works but how can i solve the port 22 unreacheable , so i can keep using ssh key – valik Dec 29 '18 at 16:33
-
This happens when I am in my university's network, it blocks some websites. Changing to http or changing the network solves the issue. – Soon Santos Jan 14 '19 at 10:33
-
6
-
12
-
As he suggested, I directly cloned my repo with git `https://github.com/USERNAME/REPO.git`!! – Wey Shi Mar 29 '20 at 05:34
Basic URL Rewriting
Git provides a way to rewrite URLs using git config. Simply issue the following command:
git config --global url."https://".insteadOf git://
Now, as if by magic, all git commands will perform a substitution of git:// to https://
source: git:// protocol blocked by company, how can I get around that?
-
2Thanks! Ours was during the Jenkins build so I couldn't manually edit the git file (I don't have the git credentials for the jenkins account) - so this was very useful. – Phil Mar 27 '15 at 15:32
-
2
-
18Concerning github, the command should be: `git config --global url."https://github.com/".insteadOf git@github.com:`. Notice the differences: `@` becomes `//` and `:` becomes `/`. – Frodon Jan 21 '16 at 14:38
-
inside the .ssh folder Create "config" file
Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
- 741
- 6
- 4
-
1
-
2
-
-
The details from Mahan_F are here: https://stackoverflow.com/a/52817036/1603480 – Jean-Francois T. Aug 16 '21 at 07:18
I faced the same problem and couldn't find a working solution. I faced this problem while setting up a local server and the git couldn't connect through my proxy network but my workstation could. This was the output when I ran the command
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.
So I tried using an SSH connection made over the HTTPS port by editing the config file ~/.ssh/config but to no avail.
Host github.com
Hostname ssh.github.com
Port 443
Finally, I found this article which solved and exposed the real problem.
# 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
This is my config file and now git works perfectly well through ssh!
- 153
- 1
- 6
-
I particularly had to add `Hostname` and `Port` lines to my config, and viola, it works now. – RTD Sep 22 '21 at 12:11
-
1
-
-
Quick workaround: try switching to a different network
I experienced this problem while on a hotspot (3/4G connection). Switching to a different connection (WiFi) resolved it, but it's just a workaround - I didn't get the chance to get to the bottom of the issue so the other answers might be more interesting to determine the underlying issue
- 5,727
- 3
- 48
- 67
-
2I switched from the WiFi to the 4G and it worked. I don't understand either. – Adam Casey Feb 13 '19 at 17:31
Execute:
nc -v -z <git-repository> <port>
Your output should look like:
"Connection to <git-repository> <port> port [tcp/*] succeeded!"
If you get:
connect to <git-repository> <port> (tcp) failed: Connection timed out
You need to edit your ~/.ssh/config file. Add something like the following:
Host example.com
Port 1234
-
7I'm not sure everyone is going to have `nc` installed. What is that supposed to be? Netcat or something? – Hack-R Apr 08 '18 at 21:55
For me, the problem was from ISP side. The Port number was not enabled by the Internet Service Provider. So asked them to enable the port number over my network and it started working.
Only to test: Connect to mobile hotspot and type ssh -T git@bitbucket.org or git pull.
If it works, then ask your ISP to enable the port.
- 115
- 1
- 3
-
This resolved the issue for me. Switched to a 4G hotspot and `git push` worked. But I turned off the hotspot, switched back to the old network...and now git works again. Who knows? – AlainD Jan 25 '22 at 17:07
I was having this same issue, but the answer I found was different, thought someone might come across this issue, so here is my solution.
I had to whitelist 2 IPs for port 22, 80, 443, and 9418:
192.30.252.0/22185.199.108.0/22
In case these IP's don't work, it might be because they got updated, you can find the most current ones on this page.
- 4,639
- 7
- 40
- 61
In a similar failure mode as Ludder, I was getting this error when I hadn't yet signed in to the correct company VPN. :facepalm:
- 353
- 1
- 5
- 14
The answer above gave me the information needed to resolve this issue. In my case the url was incorrectly starting with ssh:///
To check the url in your git config is correct, open the git config file :-
git config --local -e
Check the url entry. It should NOT have ssh:/// at the start.
Incorrect entry:
url = ssh:///git@github.com:username/repo.git
Correct entry:
url = git@github.com:username/repo.git
If your url is correct, then the next step would be to try the answer above that suggests changing protocol to http.
- 19
- 4
Changing the repo url from ssh to https is not very meaningful to me. As I prefer ssh over https because of some sort of extra benefits which I don't want to discard. Above answers are pretty good and accurate. If you face this problem in GitLab, please go to their official documentation page and change your config file like that.
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab
- 503
- 3
- 13
Restart the computer solved it for me.
Git version: 2.27.0.windows.1
OS version: Windows 10
- 5,689
- 6
- 40
- 66
The main reason was the change from the proxy installed by the company recently, which has blocked other ssh connections other than those to the company domain.
I was able to connect successfully by following these steps:
- Double checked that the issue is what I am assuming by
ssh -T git@github.com
It should end up in a timeout.
- Edited the local remote URL by
ssh config --local -e
and from
url=git@github.com:asheeshjanghu/Journal.git
to
url=https://github.com/asheeshjanghu/Journal.git
The important point is that in the url you have to change at 2 places.
from git@ to https:// and from github:username to github/username
In the end verify by doing a git fetch
- 31
- 1
- 5
In my case the problem was caused by a setting that I had changed on my Router a day before. So on my Router, I just had to revert the setting Isolation to disable and it has fixed my issue.
- 4,891
- 9
- 43
- 76
When I accidentally switched to a guest wifi network I got this error. Had to switch back to my default wifi network.
- 2,445
- 1
- 23
- 24
I had this issue for 2 hours and it turns out removing the "s" from https and just do:
git clone -b <branchName> http:<projecturl>
Fixed it.
- 107
- 11
-
-
1What? This possibly cannot be the answer... The whole reason to have that "s" is to make a secure and encrypted link with the repo lol. Removing the "s" takes away the whole point of the question. – Yashank Oct 28 '20 at 19:43
ISSUE: Step to produce issue: git clone git@github.com:sramachand71/test.git for the first time in the new laptop ERROR 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. SOLUTION for the first time in the system to clone we need to give double quotes for the clone command. $ git clone "git@github.com:sramachand71/test.git" i face this issue in the system even after everything was correct but noticed at last that double quote is must for url "repository_url.git" for first time or new user in the system.
- 1
- 2
I had this issue on a server of mine that was set up with it's regular IP and a failover IP. The failover IP did not point to the server at this time. I had to remove the failover IP from the server configuration in /etc/netplan/01-netcfg.yaml. Pointing the failover IP to that server would have probably solved the issue as well.
- 3,224
- 9
- 35
- 71
My computer was unable to connect port 22 while connecting to Github. I never had this issue with bitbucket. If you have both GitHub and bitbucket then
Host bitbucket.org
Hostname altssh.bitbucket.org
Port 443
Host github.com
Hostname ssh.github.com
Port 443
It basically connects SSH in 443 port instead of 22.
- 18,346
- 7
- 63
- 44
Suggest to check the Internet connection or connect to another connection.
- 49
- 4
-
This does not provide an answer to the question. Once you have sufficient [reputation](https://stackoverflow.com/help/whats-reputation) you will be able to [comment on any post](https://stackoverflow.com/help/privileges/comment); instead, [provide answers that don't require clarification from the asker](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead). - [From Review](/review/late-answers/31393769) – tjheslin1 Mar 30 '22 at 16:53
So I was having this same problem (not behind a proxy) and came across this question. Here's what I did to fix it:
Tried running ssh -T git@github.com and it did time out, but adding -o KexAlgorithms=ecdh-sha2-nistp521 made a successful connection (found from this answer to a semi-related question).
To permanently fix this, I just added a line KexAlgorithms=ecdh-sha2-nistp521 under github.com in my ~/.ssh/config. Everything seems to work fine now.
- 404
- 1
- 4
- 10
If you are in windows, move into the directory where you stored your ssh key, and try again, it worked for me.
- 11
- 2
Refreshing my Internet connection and the git reload feature from the terminal worked for me.
- 87
- 1
- 6