git 错误:无法运行ssh:没有这样的文件或目录时,试图克隆在windows上

w3nuxt5m  于 12个月前  发布在  Git
关注(0)|答案(8)|浏览(137)

我试图在Windows上克隆远程存储库,但当我这样做时:

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

字符串
我得到了这个错误:

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


我错过了什么吗?

9fkzdhlc

9fkzdhlc1#

检查是否安装了ssh-client这解决了docker镜像上的问题,即使ssh密钥存在
Debian镜像:

apt-get install openssh-client

字符串
关于阿尔卑斯山的图片:

apk add openssh-client

inkz8wg9

inkz8wg92#

您没有安装ssh(或者在搜索路径中没有它)。
你也可以通过http从github克隆:

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

字符串

b09cbbtk

b09cbbtk3#

很可能您的GIT_SSH_COMMAND引用了错误的公钥。
尝试:

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

字符串
然后

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

mrfwxfqh

mrfwxfqh4#

我知道这是一个老主题,但最近有这个问题,我想在这里带来我解决我的问题。
在以下情况下可能会出现此错误:

  • 您可以使用这样的URL:[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) :organization/repo.git
  • 你可以直接运行这样的命令:git clone [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) /xxxxx.git,而你没有ssh客户端(或者它不在路径上)。
  • 或者您已经安装了ssh客户端(git clone xxx.git在直接命令行上工作正常),但是当您通过shell脚本文件运行相同类型的命令时,

在这里,我假设你不想像我的情况一样将协议ssh git@更改为http://[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) :organization/repo.git-> http://github.com/organization/repo.git),因为我需要ssh
所以,

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

GIT_SSH_COMMAND="/usr/bin/ssh -i ~/.ssh/id_rsa" git pull
(Feel根据您的上下文自由更改它)

vvppvyoh

vvppvyoh5#

我有这个问题后,我的防病毒移动cygwin ssh二进制病毒库,并恢复后。
症状:

  • SSH似乎已正确安装
  • SSH可以从命令行运行没有问题

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

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

字符串

kcrjzv8t

kcrjzv8t6#

我在CI-CD管道中的Alpine容器上得到了同样的错误。我已经添加了openssh包,它工作了。
RUN apk add --no-cache git openssh

jk9hmnmh

jk9hmnmh7#

你也可以试试这些

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

字符串

7fhtutme

7fhtutme8#

在我的情况下,与我的git帐户链接的新ssh密钥对无法访问。
我不得不sudo chmod 777 ~/.ssh/id_rsa.*来解决这个问题。

相关问题