'ssh: connect to host heroku.com port 22: Connection timed out

I am working on Ubuntu 11.10 Local branch of my git-repo is up to date

I then wrote following command in terminal: heroku create --stack cedar and it said:
Notice: on Wed, 20 June, our default stack will change to Cedar. http://bit.ly/Lh0rM5

Creating radiant-wind-7413... done, stack is cedar
http://radiant-wind-7413.herokuapp.com/ | [email protected]:radiant-wind-7413.git
Git remote heroku added

All fine till now, then I typed following in terminal:

git push heroku master

and the following error occured: ssh: connect to host heroku.com port 22: Connection timed out
fatal: The remote end hung up unexpectedly



Solution 1:[1]

As of November 30, 2021, the SSH Git Transport feature has been deprecated by Heroku and only HTTP transport is supported. The real shutdown of SSH was in March 2022.

You have to reconfigure the repo with :

heroku git:remote -a <app-name>

Official statement from Heroku

If you are using a remote with a different name, e.g. production then use

heroku git:remote -a <app-name> -r <remote-name>

Maybe you will have to unset ssh connections on git global config :

git config --global --unset url.ssh://git@heroku/.insteadof
git config --global --unset url.ssh://[email protected]/.insteadof

Solution 2:[2]

Most probably some sort of firewall issue or your network admin has blocked outgoing port 22 in your network.

You may use simple scrip to see your connection to Heroku by :

$ ssh -vvv [email protected]

If you seeing connect timed out then you may need to request your admin to unblock port 22. Alternatively may access Heroku via tunneling as per my answer in Connecting to heroku using port 443

Solution 3:[3]

I had the similar problem with keys. Ok this is what I did.

Check the status of your keys with

heroku keys

It shows you list of keys that are added to heroku. You can always generate new keys and add them to heroku.

ssh-keygen -t rsa

Generates new key.

heroku keys:add

adds the keys to heroku. Before adding it lists the available keys that you can add. Enter the option and you key is added to heroku.

This article can be helpful. If that doesn't work then there should be some problem with ssh. Try doing an ssh localhost and see if ssh is working.

Solution 4:[4]

Today Heroku uses git over ssh. The default port for ssh is 22 and it looks like your network doesn't allow outbound connections to port 22. Perhaps this is something your network administrator can change.

Solution 5:[5]

I had been working on this for hours trying to figure out how I could suddenly have a closed port 22, etc. when literally 5 hours ago everything was working and nothing had changed.

Finally I just reset my Git repo on Heroku and repushed everything. Still no idea what happened.

heroku plugins:install heroku-repo
heroku repo:reset --app appname

Solution 6:[6]

Do following steps.

ssh-keygen -t rsa
heroku keys:add
heroku keys  # lists keys

Solution 7:[7]

For me helped destroying whole app and recreating again - leaving it here for future reference.

heroku apps:destroy appname
heroku apps:create appname
heroku git:remote -a appname
git push heroku master

Solution 8:[8]

I added the https url to the .git/config file in my project folder. I found the HTTPS URL in the project Settings on Heroku. I then added that URL to replace the SSH url inside the .git/config text file.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Obromios
Solution 2 Community
Solution 3 Maddy
Solution 4 James Ward
Solution 5 james
Solution 6 Shamith c
Solution 7 Robert Zvolanek
Solution 8