ssh_exchange_identification: Connection closed by remote host under Git bash

GitSsh

Git Problem Overview


I work at win7 and set up git server with sshd. I git --bare init myapp.git, and clone ssh://git@localhost/home/git/myapp.git in Cywgin correctly. But I need config git of Cygwin again, I want to git clone in Git Bash. I run git clone ssh://git@localhost/home/git/myapp.git and get following message

ssh_exchange_identification: Connection closed by remote host

then I run ssh -vvv git@localhost in Git Bash and get message

debug2: ssh_connect: needpriv 0
debug1: Connecting to localhost [127.0.0.1] port 22.
debug1: Connection established.
debug1: identity file /c/Users/MoreFreeze/.ssh/identity type -1
debug3: Not a RSA1 key file /c/Users/MoreFreeze/.ssh/id_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace 
// above it repeats 24 times
debug2: key_type_from_name: unknown key type '-----END'
debug3: key_read: missing keytype
debug1: identity file /c/Users/MoreFreeze/.ssh/id_rsa type 1
debug1: identity file /c/Users/MoreFreeze/.ssh/id_dsa type -1
ssh_exchange_identification: Connection closed by remote host

it seems my private keys has wrong format? And I find that there are exactly 25 line in private keys without BEGIN and END. I'm confused why it said NOT RSA1 key, I totally ensure it is RSA 2 key.

Any advises are welcome. btw, I have read first 3 pages on google about this problem.

Git Solutions


Solution 1 - Git

I had this problem today and I realize that I was connected to 2 differente networks (LAN and WLAN), I solved it just disconnecting the cable from my Ethernet adapter. I suppose that the problem is caused because the ssh key is tied with the MAC address of my wireless adapter. I hope this helps you.

Solution 2 - Git

I just ran into this today and it was because the server I was trying to connect to was overloaded with processing. So it may be possible that the server is low on memory or CPU starved.

Solution 3 - Git

Just enter on the server side :

echo 'SSHD: ALL' >> /etc/hosts.allow

It sorted it out for me.

Solution 4 - Git

For fixing the issues add the Hostname for Git on ~/.ssh/config,

Host github.com
 Hostname ssh.github.com
 Port 443

In my case github!

Solution 5 - Git

Hit the following ssh restart command in linux

prayag@prayag:~/backup/NoisyNeighbour$ service ssh restart 
stop: Rejected send message, 1 matched rules; type="method_call", sender=":1.75" (uid=1417676764 pid=5933 comm="stop ssh ") interface="com.ubuntu.Upstart0_6.Job" member="Stop" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.76" (uid=1417676764 pid=5930 comm="start ssh ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")

Solution 6 - Git

Make sure you are not connect to any kind of VPN.

Solution 7 - Git

After removing/deleting the rm ~/.ssh/known_hosts, my issue was fixed

Solution 8 - Git

Got the same error message. Turning off WiFi and turning it back on again worked for me.

Solution 9 - Git

if hostname does not work, try IP address.

This is going on right now so I have to say. I try to ssh with my host name and it does not work

ssh root@host.example.net

this gives the error "ssh_exchange_identification: Connection closed by remote host"

this USED to work one hour back.

BUT, and here is the interesting part, the IP address works!

ssh root@192.168.0.100

(of course the actual IP address is different)

Go figure!

Solution 10 - Git

I solved it after changing the ssh port & MaxStartups variable in /etc/ssh/sshd_config to ,

port 2244
MaxStartups 100

Then, restart the service

service sshd restart

If still it does not work, restart you system.

Solution 11 - Git

Hi I fix this on one vps service, restarting it, other way is if you have a console from your service o any other way to run a command in your remote machine the only command you must run is restart the ssh daemon and enjoy!! :P

/etc/init.d/ssh restart

Solution 12 - Git

We migrated our git host instance/servers this morning to a new data center and while being connected to both: VPN (from remote/home) or when in office network, I got the same error and was not able to connect to clone any GIT repo.

Cloning into 'some_repo_in_git_dev'...
ssh_exchange_identification: Connection closed by remote host
fatal: Could not read from remote repository.

This will help if you are connecting to some or all servers via a jump host server.

Earlier in my ~/.ssh/config file, my setting to connect were:

Host * !ssh.somejumphost.my.company.com
     ProxyCommand ssh -q -W %h:%p ssh.somejumphost.my.company.com

What this means is, for any SSH based connection, it will connect to any * server via the given jump host server except/by ignoring "ssh.somejumphost.my.company.com" server (as we don't want to connect to a jump host via jump host server.

To FIX the issue, all I did was, change the config to ignore git server as well:

Host * !ssh.somejumphost.my.company.com !mycompany-git.server.com !OrMyCompany-some-other-git-instance.server.com
     ProxyCommand ssh -q -W %h:%p ssh.somejumphost.my.company.com

So, now to connect to mycompany-git.server.com while doing git clone (git SSH url), I'm telling SSH not to use a jump host for those two extra git instances/servers.

Solution 13 - Git

Similar to Arun Sangal the problem lied in an in .ssh/config entry

Host my.sshhost.com
  ProxyCommand ssh -q -W %h:%p myremotemachine.my.company.com

The remote machine was added to avoid with ssh for VPN connections and worked well. But for the vacation period I switched off the myremotemachine and run into the described problem.

Solution 14 - Git

To solve this edit /etc/ssh/ssh_config and comment the following line 1

ProxyCommand /usr/bin/sss_ssh_knownhostsproxy -p %p %h

https://www.evilbox.ro/linux/solve-ssh_exchange_identification-connection-closed-by-remote-host/ for reference

Solution 15 - Git

Remove any config in ~/.ssh/config or other ssh config places which will disallow it to reach to Github servers

In my case it was below config, and I wasn't connected to VPN.

Host *
  ProxyJump 10.0.0.50 

Note :- If I am connected to VPN, This config would mean git clone or any git operation will be send via VPN which might be slow depending on type of VPN we are using.

Solution 16 - Git

Disconnecting and reconnecting to the current network worked for me.

Solution 17 - Git

Today Gitlab Server was in maintainence. Please check if it's working later.

Solution 18 - Git

Got the same error too when connecting to GitHub with ssh as I move from one workplace to another. according to my situation, it seems that dns servers of different networks may get various ip address of github and the known_hosts file not identify it when changes happened. So change dns or switch back original network may work.

Solution 19 - Git

You can get "ssh_exchange_identification: Connection closed by remote host" if your sshd service is not operational!

If you have access to the server check you have the sshd service running with:

  ps aux | grep ssh

and check it is listening on port 22:

 netstat -plant | grep :22

more details here

Solution 20 - Git

For me this was caused by a limit on the number of concurrent ssh sessions. I added the two params below to /etc/ssh/sshd_config and then things worked.

echo 'MaxSessions 2000' >> /etc/ssh/sshd_config
echo 'MaxStartups 2000' >> /etc/ssh/sshd_config
service ssh restart

Solution 21 - Git

Simple server reboot solved the problem for me. Try hard reboot , if dont work after soft reboot.

Solution 22 - Git

Please use Port 7999 and Try. it will work

Solution 23 - Git

I solved it this way.

ssh -vvv <username>@github.com to see github IP.

Then opened browser and opened github via IP to find it was an issue with firewall.

Solution 24 - Git

I experienced this today and I just do a:

12345@123456 MINGW64 ~/development/workspace/test (develop)
$ git status
Refresh index: 100% (1204/1204), done.
On branch develop
Your branch is up to date with 'origin/develop'.

nothing to commit, working tree clean

12345@123456 MINGW64 ~/development/workspace/test (develop)
$ git fetch

Then all worked again.

Solution 25 - Git

For me, the issue was that there was a proxy set in /etc/ssh/ssh_config and it was down, solved the issue by whitelisting the remote git IP and removing the proxy line.

Hope this helps someone.

Solution 26 - Git

In windows machine, remove the content of config file present in C:\Users{yourusername}.ssh

This worked well for me.

Solution 27 - Git

If you are using a VPN, Turn it off and try to push again.

Solution 28 - Git

In my case I am developing a script for setting up Raspberry Pies. I forgot to add in that script enabling of the ssh.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMoreFreezeView Question on Stackoverflow
Solution 1 - GitPachinSVView Answer on Stackoverflow
Solution 2 - GitCory KleinView Answer on Stackoverflow
Solution 3 - GitDavid OkwiiView Answer on Stackoverflow
Solution 4 - GitRub21View Answer on Stackoverflow
Solution 5 - GitprayagupaView Answer on Stackoverflow
Solution 6 - GitCampinhoView Answer on Stackoverflow
Solution 7 - GitasmmahmudView Answer on Stackoverflow
Solution 8 - GitDan ShefflerView Answer on Stackoverflow
Solution 9 - GitKinjal DixitView Answer on Stackoverflow
Solution 10 - GitVikas GuptaView Answer on Stackoverflow
Solution 11 - Gitelin3tView Answer on Stackoverflow
Solution 12 - GitAKSView Answer on Stackoverflow
Solution 13 - GitVlad IsajkinView Answer on Stackoverflow
Solution 14 - GitAsif BilgramiView Answer on Stackoverflow
Solution 15 - GititsjwalaView Answer on Stackoverflow
Solution 16 - GitDebu ShinobiView Answer on Stackoverflow
Solution 17 - GitParesh ShiyalView Answer on Stackoverflow
Solution 18 - Gitdi tangView Answer on Stackoverflow
Solution 19 - GitErichBSchulzView Answer on Stackoverflow
Solution 20 - GitthebiggestlebowskiView Answer on Stackoverflow
Solution 21 - GitBabasahebView Answer on Stackoverflow
Solution 22 - GitGopisetty Ravi TejaView Answer on Stackoverflow
Solution 23 - GitJenil MewadaView Answer on Stackoverflow
Solution 24 - GitpvmaView Answer on Stackoverflow
Solution 25 - GitMohammed MaherView Answer on Stackoverflow
Solution 26 - GitSiddharth SachdevaView Answer on Stackoverflow
Solution 27 - GitM1XView Answer on Stackoverflow
Solution 28 - GitEvgeniy RaevView Answer on Stackoverflow