通过 SSH 将 VS Code 连接到 Github 导致 SSH 错误

Posted

技术标签:

【中文标题】通过 SSH 将 VS Code 连接到 Github 导致 SSH 错误【英文标题】:Connecting VS Code to Github via SSH results in SSH error 【发布时间】:2020-05-06 18:12:23 【问题描述】:

尝试设置 VS Code 并将其连接到我的 GitHub 存储库。

我已经关注了 GitHub 的文档 https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh 并且有一个密钥。

密钥已添加到我的 GitHub 帐户。

我也在关注本教程 https://code.visualstudio.com/docs/remote/ssh,它要求您通过 Visual Studio Code Remote - SSH 扩展进行连接。

在 CTRL+SHIFT+P 并选择“Remote-SSH: Connect to a host”并输入 git@github.com 后出现以下错误:

"Could not establish a connection to "github.com". The process tried to write to a nonexistent pipe"

我在 SSH 方面的经验有限,而且我正在阅读的任何内容似乎都没有帮助我。我已经在 SO 阅读了一些问答,但似乎没有什么能让我远离这条错误消息。

如何通过 SSH 连接到 GitHub,以便我可以利用所有 git 命令并推送/同步到我的远程仓库?

我也试过以下主机:

git@github.com:DarrenWainwright(我的用户名) 无法建立与“github.com:DarrenWainwright”的连接 git@github.com:DarrenWainwright/VSCodePlayground (repo) 未能将安装脚本写入路径... git@github.com:DarrenWainwright/VSCodePlayground.git(git 文件) 未能将安装脚本写入路径

【问题讨论】:

我猜你需要提供一个完整的存储库 URL,而不仅仅是 git@github.com ? @Martin - 谢谢。刚试了一下,类似的问题。更新了 Q。 【参考方案1】:

您正在使用不是为此目的而设计的扩展程序。

您使用的扩展程序旨在登录到远程服务器,您可以在该系统上控制和编辑代码。例如,如果您使用的是 Mac 笔记本电脑,但需要登录到包含您的源代码的远程 Linux 开发 VM,则可以使用此扩展。

由于 GitHub 不提供开发 VM,只能使用 Git 协议通过 SSH 进行克隆和获取,因此您需要使用为此设计的功能。您可能希望使用命令行来克隆和设置您的存储库,或者使用带有documentation outlined here 的 SSH 远程(例如,git@github.com:DarrenWainwright/VSCodePlayground.git)。

【讨论】:

谢谢。看来我对自己在做什么有误解 :) 我来自 Visual Studio 世界和一个很好的 GUI,可以满足我的大部分需求。克隆很容易,但是如何设置 VS Code 以使用 GitHub 作为 SCM,我可以在其中推送/拉取/同步到 GitHub?我尝试了一个 git clone 以及我的 SSH URL,然后得到错误“权限被拒绝(公钥) - 我的大脑受伤了。 如果克隆失败并在命令行中显示Permission denied (publickey),则您的密钥未正确注册到 GitHub。还有很多其他答案解释了如何解决这个问题(除了使用 HTTPS)。您还应该能够执行ssh -Tv git@github.com 并在正确设置时收到有关已成功验证的消息。 再次感谢。我有一种感觉,我几乎把事情搞砸了,我需要删除所有东西并重新开始。

以上是关于通过 SSH 将 VS Code 连接到 Github 导致 SSH 错误的主要内容,如果未能解决你的问题,请参考以下文章

无法通过 Visual Studio Code 远程 SSH 连接到 GCP VM

VS code remote x11 在连接到远程服务器时无法显示

VS Code - 通过 SSH 隧道打开文件夹和编辑文件

如果没有自动连接,如何将 Jupyter 内核连接到 VS Code?

如何在没有分子登录的情况下通过 SSH 连接到分子实例

VS Code 远程 ssh 缺少 GLIBCXX 和 GLIBC