0

0

VSCode远程开发深度解析:SSH篇

P粉986688829

P粉986688829

发布时间:2025-12-31 10:41:02

|

956人浏览过

|

来源于php中文网

原创

VSCode远程SSH连接失败需按五步排查:一、终端执行ssh命令验证连通性;二、修正私钥权限为600并确保PEM格式;三、正确配置~/.ssh/config文件;四、禁用VSCode自动密钥生成;五、启用Verbose日志定位具体错误。

vscode远程开发深度解析:ssh篇

如果您在使用 VSCode 进行远程开发时选择 SSH 作为连接方式,但无法成功建立会话或出现认证失败、端口拒绝、配置不生效等问题,则可能是由于 SSH 配置、密钥权限、服务器服务状态或 VSCode 扩展行为异常所致。以下是针对此类问题的多路径排查与修复操作:

本文运行环境:MacBook Pro,macOS Sequoia。

一、验证本地 SSH 连通性

该步骤用于确认底层 SSH 协议层是否正常工作,排除网络、防火墙及服务端 sshd 守护进程问题。只有基础 SSH 命令能直连成功,VSCode 的 Remote-SSH 才具备运行前提。

1、打开终端,执行 ssh -T username@host_ip -p port_number(若未指定端口则省略 -p 参数)。

2、首次连接时,如提示“Are you sure you want to continue connecting”,输入 yes 并回车。

3、若返回类似 Welcome to Ubuntu 22.04.3 LTS 的欢迎信息,说明 SSH 通道可用;若提示 Connection refusedPermission denied (publickey),需进入后续对应方案。

二、修正 SSH 密钥权限与格式

VSCode Remote-SSH 严格遵循 OpenSSH 的密钥安全策略,私钥文件权限过宽或格式非 PEM 将直接导致认证跳过或静默失败。

1、进入本地密钥所在目录,执行 chmod 600 ~/.ssh/id_rsa(将 id_rsa 替换为实际私钥名)。

2、检查私钥是否为 PEM 格式:执行 head -n 1 ~/.ssh/id_rsa,输出应为 -----BEGIN OPENSSH PRIVATE KEY----------BEGIN RSA PRIVATE KEY-----;若为 PuTTY 格式(.ppk),需用 PuTTYgen 转换并导出为 OpenSSH 格式。

3、确保私钥对应公钥已正确追加至远程服务器的 ~/.ssh/authorized_keys,且该文件权限为 600,目录权限为 700。

三、调整 VSCode Remote-SSH 配置文件

Remote-SSH 使用独立的配置文件(config)控制连接行为,其语法错误或路径引用偏差会导致连接中断或自动降级为密码认证。

1、在 VSCode 中按下 Cmd+Shift+P(Mac)调出命令面板,输入并选择 Remote-SSH: Open Configuration File...

2、选择用户级配置文件(通常为 ~/.ssh/config),在末尾新增如下块(替换对应字段):

Host my-remote-server

HostName 192.168.1.100

Cursor
Cursor

一个新的IDE,使用AI来帮助您重构、理解、调试和编写代码。

下载

User alice

Port 2222

IdentityFile ~/.ssh/id_rsa_work

StrictHostKeyChecking no

3、保存后,在命令面板中执行 Remote-SSH: Connect to Host...,选择刚定义的 my-remote-server

四、禁用 VSCode 自动密钥生成行为

VSCode 默认会在连接失败时尝试自动生成新密钥对并覆盖远程 authorized_keys,该行为可能破坏已有认证体系,尤其在共享服务器环境中极易引发权限冲突。

1、打开 VSCode 设置(Cmd+, ),搜索 remote.ssh.generateHostKey

2、取消勾选该项,或在 settings.json 中手动添加:"remote.ssh.generateHostKey": false

3、同时设置 "remote.ssh.useLocalServer": true,强制复用本地已验证的 SSH agent 环境。

五、启用详细日志定位协议层异常

当界面仅显示“Setting up SSH Host”长时间无响应时,图形界面无法提供有效线索,必须依赖底层日志获取真实错误源。

1、在 VSCode 命令面板中执行 Remote-SSH: Toggle SSH Log Level,将其设为 Verbose

2、再次尝试连接,连接失败后执行 Remote-SSH: Show Log

3、在日志中查找含 Failed to parseCould not resolve hostnameAgent admitted failure 的行,依据关键词匹配对应修复路径。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

402

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

528

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

306

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

java break和continue
java break和continue

本专题整合了java break和continue的区别相关内容,阅读专题下面的文章了解更多详细内容。

253

2025.10.24

vscode
vscode

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

576

2023.06.30

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

219

2023.07.21

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

384

2024.03.14

vlookup函数使用大全
vlookup函数使用大全

本专题整合了vlookup函数相关 教程,阅读专题下面的文章了解更多详细内容。

26

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
go语言零基础开发内容管理系统
go语言零基础开发内容管理系统

共34课时 | 2.5万人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 7.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号