怎样用VSCode进行远程开发与连接服务器【教程】

云辰大大_2757

云辰大大_2757

2026-01-18

221人浏览

原创

VSCode远程开发需Remote-SSH扩展、本地SSH配置和服务器端VS Code Server协同工作;连不上或异常多因SSH连通性差、用户shell受限或~/.vscode-server权限不足。

怎样用vscode进行远程开发与连接服务器【教程】

VSCode 的远程开发不是靠插件“连上就行”,而是靠 Remote - SSH 扩展 + 本地 SSH 配置 + 服务器端 VS Code Server 自动部署协同完成的。连不上、卡顿、权限报错,90% 是因为 SSH 连通性或用户环境没对齐。

确认 SSH 能直连服务器,且用户有完整 shell 权限

VSCode 远程开发底层走的是 SSH 协议,Remote - SSH 只是封装了连接和自动部署逻辑。如果 ssh user@host 命令本身失败、需要输密码(非密钥)、或者登录后是受限 shell(如 /bin/rbash),VSCode 就无法继续。

  • 在终端运行 ssh -T user@host,确认能免密登录并返回正常 shell 提示符(比如 [user@server ~]$)
  • 检查服务器上该用户的 $SHELL:运行 echo $SHELL,必须是 /bin/bash 或 /bin/zsh 等完整 shell;若为 /bin/false 或 /usr/sbin/nologin,需联系管理员修改
  • 确保用户对 ~/.vscode-server 目录有读写权限——VS Code Server 安装和更新都发生在这里

安装 Remote - SSH 并正确配置 SSH Host

扩展本身不处理认证,它完全复用系统 SSH 配置。别在 VSCode 里手动填 IP 和密码,那样既不安全也不稳定。

  • 在 VSCode 扩展市场搜索并安装 Remote - SSH(作者 Microsoft)
  • 编辑本地 ~/.ssh/config,添加标准 Host 块(不要用 IP 直连):
    Host myserver
        HostName 192.168.1.100
        User deploy
        IdentityFile ~/.ssh/id_rsa_prod
  • 之后在 VSCode 命令面板(Ctrl+Shift+P)输入 Remote-SSH: Connect to Host...,就能看到 myserver 选项

首次连接时 VS Code Server 安装失败的常见原因

VSCode 第一次连某台服务器,会自动下载并安装服务端组件(vscode-server)到 ~/.vscode-server/bin/xxx...。这个过程依赖服务器能访问 GitHub Release CDN,且有基础构建工具。

Python 环境工具专业版
Python 环境工具专业版

Python 环境工具专业版功能概述Python 环境工具专业版是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。核心要点使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。执行完成后建议检查结果是否符合预期,并保留必要记录。使用与执行同时注意输入完整性、执行条件和输出可用性。从功能定位来看,该技能

下载
  • 国内服务器常因网络问题卡在 Downloading VS Code Server ——可提前手动下载对应 commit 的 tar.gz 包,上传到服务器并解压到 ~/.vscode-server/bin/xxx...(commit ID 在 VSCode 连接日志里有提示)
  • 若报错 tar: unrecognized option '--overwrite-dir',说明服务器 tar 版本太老(如 CentOS 6),需升级或换用支持该参数的版本
  • 遇到 Permission denied (publickey) 却确定密钥没错?检查服务器 /etc/ssh/sshd_config 是否允许该用户使用公钥:AllowUsers deploy 或 PubkeyAuthentication yes

连接后文件浏览/调试卡顿,别急着换协议

远程文件浏览慢、终端响应延迟高,往往不是 VSCode 问题,而是本地与服务器之间的网络路径或服务器资源瓶颈。

  • 用 scp 传一个 10MB 文件测速,如果也慢,说明是链路问题;可尝试加 -o Compression=yes 到 ~/.ssh/config 的 Host 块里启用压缩
  • 调试时断点不生效?确认服务器上已安装对应语言的 runtime(如 node --version、python3 -m debugpy --help),且 VSCode 的 launch.json 中 python 或 runtimeExecutable 指向绝对路径(如 /usr/bin/python3)
  • 别在远程窗口里开太多扩展——所有扩展默认在远程运行,会显著增加内存占用;右键扩展 → “Install Locally” 可强制回退到本地执行

真正麻烦的从来不是“怎么连”,而是连上之后发现 ~/.vscode-server 权限不对、$PATH 里缺命令、或者 shell 初始化脚本(~/.bashrc)没被远程 SSH session 加载——这些细节不会报错,但会让终端、任务、调试全部静默失效。

相关专题

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

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

2023.08.07

2355

5

json是什么
json是什么

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

2023.08.23

3882

1

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

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

2023.10.13

1296

3

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

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

2025.09.10

4499

7

session失效的原因
session失效的原因

session失效的原因有会话超时、会话数量限制、会话完整性检查、服务器重启、浏览器或设备问题等等。详细介绍:1、会话超时:服务器为Session设置了一个默认的超时时间,当用户在一段时间内没有与服务器交互时,Session将自动失效;2、会话数量限制:服务器为每个用户的Session数量设置了一个限制,当用户创建的Session数量超过这个限制时,最新的会覆盖最早的等等。

2023.10.17

580

4

session失效解决方法
session失效解决方法

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

2023.10.18

876

5

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

2025.08.19

1986

14

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

2026.01.21

8925

27

GitHub官网入口版本汇总
GitHub官网入口版本汇总

本专题整合了GitHub入口版本地址汇总,阅读专题下面的文章了解更多详细内容。

2026.04.02

1018

19

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程