无法通过Visual Studio Code Remote SSH连接GCP VM实例问题求助
解决方案
步骤1:优先验证本机SSH命令行连通性
首先排除VS Code本身的配置干扰,先在Windows PowerShell中执行以下命令,验证原生SSH能否正常连接:
ssh 你的用户名@你的VM公网IP -i "C:\完整路径到你的OpenSSH格式私钥"
如果命令行执行后提示输入私钥密码/登录密码,输入后可正常登录,说明私钥格式、路径、VM端SSH配置无问题,问题出在VS Code Remote-SSH配置上。如果命令行连接失败,先解决命令行的SSH连接问题再继续后续操作。
注意:Windows下OpenSSH要求私钥文件权限仅对当前用户开放,否则会自动忽略该私钥。你可以右键私钥文件 → 属性 → 安全 → 高级 → 禁用继承,删除所有其他用户的权限,仅保留你的当前用户的完全控制权限,保存后再尝试连接。
步骤2:修正SSH配置文件的路径写法
OpenSSH配置文件对带空格的Windows路径兼容性较差,推荐两种写法二选一:
- 路径完全使用正斜杠,空格用
%20转义,不需要引号:
Host ipaddress User myusername HostName ipaddress IdentityFile C:/Users/My%20Username%20Has%20a%20Space/.ssh/dev-env-open-ssh-format-privkey
- 路径用双引号完整包裹,反斜杠需要双写转义:
Host ipaddress User myusername HostName ipaddress IdentityFile "C:\\Users\\My Username Has a Space\\.ssh\\dev-env-open-ssh-format-privkey"
如果之前已经尝试过放C盘根目录,直接写无空格的路径即可,不需要转义:
IdentityFile C:/dev-env-open-ssh-format-privkey
步骤3:开启Remote-SSH密码/密钥密码输入支持
打开VS Code设置,搜索以下两个配置项,全部勾选:
Remote.SSH: Enable Password Authentication开启密码认证支持Remote.SSH: Show Login Terminal显示登录终端,保证输入提示正常弹出
步骤4:重置Remote-SSH连接缓存
按Ctrl+Shift+P调出命令面板,执行Remote-SSH: Kill VS Code Server on Host选择对应的VM实例,再执行Remote-SSH: Remove Known Hosts清理旧的主机记录,重启VS Code后重新尝试连接。
备选方案(上述步骤无效时使用)
如果还是识别不到私钥,可直接在Remote-SSH的连接命令中指定私钥路径:调出命令面板执行Remote-SSH: Add New SSH Host,直接输入完整连接命令:
ssh 你的用户名@你的VM公网IP -i "C:\完整路径到你的OpenSSH格式私钥"
按提示保存到SSH配置文件后再尝试连接。
内容的提问来源于stack exchange,提问作者jmreader
相关产品推荐
相关产品推荐

