'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.gitwhereas you don't have ssh client (or it is not present on path)
- Or you have an ssh client installed (and git clone xxx.gitwork 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_COMMANDvariable 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 | 
