我试图在Windows上克隆一个远程存储库,所以当我这样做时:
git clone git@github.com:organization/xxx.git
我收到了这个错误:
error: cannot run ssh: No such file or directory
fatal: unable to fork
我错过了什么吗?提前完成。
答案 0 :(得分:20)
您没有安装ssh(或者在搜索路径中没有安装ssh)。
您也可以通过http从github克隆:
git clone http://github.com/organization/xxx
答案 1 :(得分:5)
检查您是否安装了ssh-client
。这解决了docker机器上的问题,即使存在ssh密钥:
apt-get install ssh-client
答案 2 :(得分:3)
您的GIT_SSH_COMMAND
很可能引用了错误的公钥。
尝试:
export GIT_SSH_COMMAND="ssh -i /home/murphyslaw/.ssh/your-key.id_rsa
然后
git clone git@github.com:organization/xxx.git
答案 3 :(得分:2)
我知道这是一个老话题,但最近遇到了这个问题,我想把我解决的问题带到这里。
在这些情况下您可能会遇到此错误:
git@github.com:organization/repo.git
git clone git@github.com/xxxxx.git
而你没有 ssh 客户端(或者它不在路径上)git clone xxx.git
在直接命令行上工作正常)但是当您通过 shell 脚本文件运行相同类型的命令时这里,我假设您不想将协议 ssh git@
更改为 http://
(git@github.com:organization/repo.git
-> http://github.com/organization/repo.git
),就像我的情况一样,因为我需要 ssh
格式。
所以,
GIT_SSH_COMMAND
变量,如下所示:GIT_SSH_COMMAND="/usr/bin/ssh -i ~/.ssh/id_rsa" git pull
(根据您的情况随意更改)
答案 4 :(得分:0)
我的防病毒软件将cygwin ssh二进制文件移至病毒库并在恢复后将其恢复。
症状:
在这种特殊情况下,重新安装ssh之前的另一种选择:检查ssh
命令权限
$ ls -al /usr/bin/ssh.exe
----rwxrwx+
$ chmod 770 /usr/bin/ssh.exe