51

我正在尝试在 Windows 上克隆一个远程存储库,但是当我这样做时:

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

我收到了这个错误:

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

我错过了什么吗?

4

6 回答 6

38

检查您是否安装了ssh-client. 这解决了 docker 机器上的问题,即使存在 ssh 密钥:

apt-get install ssh-client
于 2018-05-30T00:18:37.707 回答
36

您没有安装 ssh(或在您的搜索路径中没有安装它)。

您也可以通过 http 从 github 克隆:

git clone http://github.com/organization/xxx
于 2012-09-24T17:11:54.693 回答
6

您很可能GIT_SSH_COMMAND引用了不正确的公钥。

尝试:

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

然后

git clone git@github.com:organization/xxx.git
于 2017-06-28T06:17:53.960 回答
4

我知道这是一个老话题,但是最近遇到了这个问题,我想在这里解决我的问题。


在这些情况下,您可能会遇到此错误:

  • 您使用这样的 URL:git@github.com:organization/repo.git
  • 然后你直接运行这样的命令:git clone git@github.com/xxxxx.git而你没有 ssh 客户端(或者它不在路径上)
  • 或者您安装了 ssh 客户端(并且git clone xxx.git在直接命令行上工作正常)但是当您通过 shell 脚本文件运行相同类型的命令时

在这里,我假设您不想将协议更改ssh git@http:// ( git@github.com:organization/repo.git-> http://github.com/organization/repo.git),就像我的情况一样,因为我需要ssh格式。


所以,

  • 如果你没有 ssh 客户端,首先你需要安装它
  • 如果仅在通过脚本执行时出现此错误,则需要GIT_SSH_COMMAND在 git 命令前面使用公共 ssh 密钥设置变量,如下所示:

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

(根据您的情况随意更改)

于 2021-03-03T12:02:02.083 回答
2

在我的防病毒软件将 cygwin ssh 二进制文件移动到病毒库并在之后将其恢复后,我就遇到了这个问题。

症状:

  • SSH 似乎已正确安装
  • SSH 可以毫无问题地从命令行运行

在这种特殊情况下重新安装 ssh 之前的另一个选项:检查ssh命令权限

$ ls -al /usr/bin/ssh.exe
----rwxrwx+
$ chmod 770 /usr/bin/ssh.exe
于 2018-11-28T11:43:57.017 回答
0

你也可以试试这些

ssh-add ~/.ssh/identity_file
chmod 400 ~/.ssh/identity_file
于 2021-11-03T08:36:26.450 回答