无法通过 Visual Studio Code 远程 SSH 连接到 GCP VM
Posted
技术标签:
【中文标题】无法通过 Visual Studio Code 远程 SSH 连接到 GCP VM【英文标题】:Unable to Connect to GCP VM Via Visual Studio Code Remote SSH 【发布时间】:2021-11-14 07:11:09 【问题描述】:一段时间以来,我一直在尝试使用 SSH 密钥和 vscode 的 Remote-SSH 扩展将 vscode 连接到谷歌云平台中的 vm 实例,但没有成功。
根据教程和文档示例,这是我当前的配置文件(ip 和用户名空白以确保安全):
Host ipaddress
User myusername
HostName ipaddress
IdentityFile ~/.ssh/dev-env-open-ssh-format-privkey
配置文件位于~/.ssh
文件夹中。当我尝试连接时,我会收到消息。
Could not establish a connection to "ipaddress".
从输出终端(我似乎无法获取所有文本,因为带有失败消息的弹出对话框不允许我访问复制日志)。但我注意到输出中的这一行
> no such identity: C:\\My Username Has a Space/\\.ssh\dev-env-open-ssh-format-key: No such file or directory
>username@ipaddress: Permission denied (publickey).
根据我的尝试,斜线的方向不同,但消息或多或少保持不变。我不明白为什么错误消息中的斜杠比配置文件中指定的多。
我尝试过的:
从前到后更改斜线 将私钥导出为 ssh 格式(正如我在 code.visualstudio.com/docs 上看到的...) puttyGen 的原始 privKey 指定密钥的完整路径 - C:\Users\My Username Has a Space.ssh\privKey 上面的点带有正斜杠和反斜杠,带和不带双引号。 使用以下方法清除了设置:Remote-SSH: Kill VS Code Server on Host 我尝试将 privKey 直接放在 C 盘的根目录下,以排除用户名中的空间错误。 重新启动本地计算机(绝望) 正在重启虚拟机什么有效:
通过 Putty 连接 VM(使用原始 privKey) 通过 FileZilla 连接到 VM(使用原始 privKey) 注意:以上两种方法都连接到虚拟机,然后提示输入密码。我提供密码然后我就进去了。我没有收到使用 vscode 输入密码的提示,但我想如果没有 privKey,它不会走得太远。
我正在使用带有 vs code 1.60.1 的 Windows 10。虚拟机正在运行 Ubuntu 20.04 LTS。远程 - SSH v0.65.8。
我不确定与获得帮助相关的其他信息。
【问题讨论】:
【参考方案1】:对于配置文件,您应该使用以下内容:
Host your-instance-name
HostName external-ip-address
Identity files C:\path\to\your\key\this_is_the_key_name
User the-user-you-choose-for-the-key
您需要使用.pub
格式的密钥(您可以安装Git 并使用ssh-keygen.exe
创建一个密钥),因为如果您使用PuTTy 生成了.ppk
格式的密钥,这不会工作。
另一件事:当您尝试连接到您的实例时,请确保 C:\Users\yourname\\.ssh
中的文件中的 know_host
内部没有以前没有工作过的连接.
如果您成功连接,请告诉我们。
【讨论】:
在 Ubuntu 中什么是等效的 - 你知道吗? @DanErez 在 Ubuntu 中,您可以直接生成.pub
格式的 ssh-key,因此您只需更改密钥的路径即可。您是否已经尝试过这样做?以上是关于无法通过 Visual Studio Code 远程 SSH 连接到 GCP VM的主要内容,如果未能解决你的问题,请参考以下文章
“代码 。”命令无法从 mac 终端打开 Visual Studio Code 运算符
无法使用 Visual Studio Code 中的自定义库解析导入
断点无法通过 Windows 10 和 WSL2 上的 Visual Studio Code 在 Chrome 中调试 React 应用程序