git - 连接到 Github 时为 "Cannot spawn ssh",但 ssh -T git@github.com 有效吗?

标签 git version-control ssh github

我很难让 Github(+Netbeans 工作)。

我想将 ssh 与 git(在 Windows 7 上)一起使用,例如,提交或克隆一个项目,但我不断收到此错误消息:

$ git clone git@github.com:USER/PROJECTNAME.git
error: cannot spawn C:\Program Files (x86)\Git\bin\ssh.exe: No such file or directory
fatal: unable to fork

注意:目前,我的 GIT_SSH 环境变量指向 C:\Program Files (x86)\Git\bin\ssh.exe,但我也尝试过 C:\Program Files (x86)\Git\bin,将其完全删除,指向 putty/plink 的文件夹,并指向它们的可执行文件,但仍然是相同的消息.

当我测试连接时一切正常:

$ ssh -T git@github.com
Hi USER! You've successfully authenticated, but GitHub does not provide shell access.

我做错了什么?如果我首先在目录中执行 git init 会有什么不同吗?

编辑:

这没有帮助:

setting GIT_SSH to plink.exe and adding plink's path to PATH

**编辑 2 **

GIT_TRACE=2 命令的结果

$ GIT_TRACE=2 git clone git@github.com:XXX/AffableBean
trace: built-in: git 'clone' 'git@github.com:XXX/AffableBean'
Cloning into 'AffableBean'...
trace: run_command: 'Plink.exe' '-batch' 'git@github.com' 'git-upload-pack '\''XXX/AffableBean'\'''
error: cannot spawn Plink.exe: No such file or directory
fatal: unable to fork

最佳答案

到目前为止,没有一个答案对我有用。最终为我解决这个问题的是从我的 GIT_SSH 变量中删除引号并且根本不转义任何字符,没有 MSYS 路径样式(例如 /c/path\to\putty/plink.exe)。只需正常输入路径,Git 会处理引用。

set GIT_SSH=C:\path to putty\plink.exe

就是这样。使用 GIT_TRACE 时,您可以看到在生成的命令中引用了变量,因此:

  1. 添加的双引号改变了传递给命令的字符串

  2. 路径用单引号括起来,所以空格没问题。

希望对某人有所帮助。

关于git - 连接到 Github 时为 "Cannot spawn ssh",但 ssh -T git@github.com 有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10574267/

相关文章:

git - 如何修复坏的 git 树对象

git - 如何使用 TortoiseGit 重新排序提交( rebase )

linux - 用于连接 SSH Ubuntu 18.04 的多个 key 。如何使用?

unix - 如何将正在运行的进程移至后台 (UNIX)

git - `git pull` 是否仅将更改 merge 到 check out 的分支中?

git - 如何更改我的 git 时区偏移量?

git - 无法通过慢速互联网连接推送到 git : ssh could not resolve hostname

git - 如何检测 TeamCity 中当前代码更改的标签?

Git:压缩不是最近提交的连续提交,并且不从根开始

linux - Visual Studio 2017 无法创建目录,mkdir 退出代码 : 1