'error: cannot run ssh: No such file or directory when trying to clone on windows

I am trying to clone a remote repository on Windows, but when I did this:

git clone [email protected]:organization/xxx.git

I got this error:

error: cannot run ssh: No such file or directory
fatal: unable to fork

Am I missing something?



Solution 1:[1]

You don't have ssh installed (or don't have it within your search path).

You can clone from github via http, too:

git clone http://github.com/organization/xxx

Solution 2:[2]

Check if you have installed ssh-client. This solves the problem on docker machines, even when ssh keys are present:

apt-get install openssh-client

Solution 3:[3]

Most likely your GIT_SSH_COMMAND is referencing the incorrect public key.

Try:

export GIT_SSH_COMMAND="ssh -i /home/murphyslaw/.ssh/your-key.id_rsa

then

git clone [email protected]:organization/xxx.git

Solution 4:[4]

I am aware that it is an old topic, but having this problem recently, I want to bring here what I resolve my issue.


You might have this error on these conditions :

  • You use a URL like this : [email protected]:organization/repo.git
  • And you run a kind of command like this directly : git clone [email protected]/xxxxx.git whereas you don't have ssh client (or it is not present on path)
  • Or you have an ssh client installed (and git clone xxx.git work fine on direct command line) but when you run the same kind of command through a shell script file

Here, I assume that you don't want to change protocol ssh git@ to http:// ([email protected]:organization/repo.git -> http://github.com/organization/repo.git), like my case, cause I needed the ssh format.


So,

  • If you do not have ssh client, first of all, you need to install it
  • If you have this error only when you execute it through a script, then you need to set GIT_SSH_COMMAND variable with your public ssh key, in front of your git command, like this :

GIT_SSH_COMMAND="/usr/bin/ssh -i ~/.ssh/id_rsa" git pull

(Feel free to change it depending on your context)

Solution 5:[5]

I had this issue right after my antivirus moved the cygwin ssh binary to virus vault, and restored it after.

Symptoms:

  • SSH seems properly installed
  • SSH can be run from command line without problem

Another option before reinstalling ssh in this particular case: check the ssh command permissions

$ ls -al /usr/bin/ssh.exe
----rwxrwx+
$ chmod 770 /usr/bin/ssh.exe

Solution 6:[6]

You can try these as well

ssh-add ~/.ssh/identity_file
chmod 400 ~/.ssh/identity_file

Solution 7:[7]

It so happened in my case that the new pair of ssh keys linked with my git account were not accessible.

I had to sudo chmod 777 ~/.ssh/id_rsa.* to resolve the issue.

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 Mark
Solution 2 ssi-anik
Solution 3 Rob
Solution 4
Solution 5 user1556814
Solution 6 Abdul Muiz Khan
Solution 7 Dota2