我试图在Windows上克隆远程存储库,但当我这样做时:
git clone [email protected]:organization/xxx.git
字符串我得到了这个错误:
error: cannot run ssh: No such file or directory fatal: unable to fork
型我错过了什么吗?
9fkzdhlc1#
检查是否安装了ssh-client。这解决了docker镜像上的问题,即使ssh密钥存在。Debian镜像:
ssh-client
apt-get install openssh-client
字符串关于阿尔卑斯山的图片:
apk add openssh-client
型
inkz8wg92#
您没有安装ssh(或者在搜索路径中没有它)。你也可以通过http从github克隆:
git clone http://github.com/organization/xxx
字符串
b09cbbtk3#
很可能您的GIT_SSH_COMMAND引用了错误的公钥。尝试:
GIT_SSH_COMMAND
export GIT_SSH_COMMAND="ssh -i /home/murphyslaw/.ssh/your-key.id_rsa
字符串然后
mrfwxfqh4#
我知道这是一个老主题,但最近有这个问题,我想在这里带来我解决我的问题。在以下情况下可能会出现此错误:
[[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
git clone xxx.git
在这里,我假设你不想像我的情况一样将协议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@
http://
http://github.com/organization/repo.git
ssh
GIT_SSH_COMMAND="/usr/bin/ssh -i ~/.ssh/id_rsa" git pull(Feel根据您的上下文自由更改它)
GIT_SSH_COMMAND="/usr/bin/ssh -i ~/.ssh/id_rsa" git pull
vvppvyoh5#
我有这个问题后,我的防病毒移动cygwin ssh二进制病毒库,并恢复后。症状:
在这种特殊情况下,重新安装ssh之前的另一个选择是:检查ssh命令权限
$ ls -al /usr/bin/ssh.exe ----rwxrwx+ $ chmod 770 /usr/bin/ssh.exe
kcrjzv8t6#
我在CI-CD管道中的Alpine容器上得到了同样的错误。我已经添加了openssh包,它工作了。RUN apk add --no-cache git openssh个
CI-CD
Alpine
openssh
RUN apk add --no-cache git openssh
jk9hmnmh7#
你也可以试试这些
ssh-add ~/.ssh/identity_file chmod 400 ~/.ssh/identity_file
7fhtutme8#
在我的情况下,与我的git帐户链接的新ssh密钥对无法访问。我不得不sudo chmod 777 ~/.ssh/id_rsa.*来解决这个问题。
sudo chmod 777 ~/.ssh/id_rsa.*
8条答案
按热度按时间9fkzdhlc1#
检查是否安装了
ssh-client
。这解决了docker镜像上的问题,即使ssh密钥存在。Debian镜像:
字符串
关于阿尔卑斯山的图片:
型
inkz8wg92#
您没有安装ssh(或者在搜索路径中没有它)。
你也可以通过http从github克隆:
字符串
b09cbbtk3#
很可能您的
GIT_SSH_COMMAND
引用了错误的公钥。尝试:
字符串
然后
型
mrfwxfqh4#
我知道这是一个老主题,但最近有这个问题,我想在这里带来我解决我的问题。
在以下情况下可能会出现此错误:
[[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客户端(或者它不在路径上)。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
。所以,
GIT_SSH_COMMAND
变量,如下所示:GIT_SSH_COMMAND="/usr/bin/ssh -i ~/.ssh/id_rsa" git pull
(Feel根据您的上下文自由更改它)
vvppvyoh5#
我有这个问题后,我的防病毒移动cygwin ssh二进制病毒库,并恢复后。
症状:
在这种特殊情况下,重新安装ssh之前的另一个选择是:检查
ssh
命令权限字符串
kcrjzv8t6#
我在
CI-CD
管道中的Alpine
容器上得到了同样的错误。我已经添加了openssh
包,它工作了。RUN apk add --no-cache git openssh
个jk9hmnmh7#
你也可以试试这些
字符串
7fhtutme8#
在我的情况下,与我的git帐户链接的新ssh密钥对无法访问。
我不得不
sudo chmod 777 ~/.ssh/id_rsa.*
来解决这个问题。