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?
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?
Check if you have installed ssh-client. This solves the problem on docker images, even when ssh keys are present.
On Debian images:
apt-get install openssh-client
On Alpine images:
apk add openssh-client
openssh-clientRUN apk add openssh-client works on alpine image buildsYou 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
cygwin (which is my case).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
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 :
[email protected]:organization/repo.gitgit clone [email protected]/xxxxx.git whereas you don't have ssh client (or it is not present on path)git clone xxx.git work fine on direct command line) but when you run the same kind of command through a shell script fileHere, 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,
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)
I had this issue right after my antivirus moved the cygwin ssh binary to virus vault, and restored it after.
Symptoms:
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
You can try these as well
ssh-add ~/.ssh/identity_file
chmod 400 ~/.ssh/identity_file
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.
chmod 777 is wrong and dangerous. You will want to revert to sane permissions ASAP (for your use case, probably chmod 600 or 640 or even 644 depending on the ownership and group) and if you have had world writable system files on a public-facing system, at the very least investigate whether it could have been breached and used as a pivot point for breaking into your organization’s network.