Loading

[VSCode] VSCode Tunnel - VSCode隧道安装篇

本文作者: Minskiter @Blog of Minskiter
本文链接: https://mskter.com/2022/12/16/vscodeTunnel-zh/
版权声明: 本站所有文章除特别声明外,均采用 (CC)BY-NC-SA 许可协议。转载请注明出处!

VSCode 隧道功能

为什么需要VSCode隧道?

在如今公网IP稀缺以及国内商业带宽十分昂贵的情况下,自己搭建内网穿透的服务器不仅成本高同时带宽小,而使用微软提供的中继服务器(虽然有安全风险),但是可以节省不少操作和成本。

前提需要

  1. 服务端 VSCode CLI
    https://code.visualstudio.com/#alt-downloads

  2. 客户端 VSCode(1.74+) + Tunnel(Microsoft)插件
    (或者直接使用vscode.dev在线编辑器)

服务端安装步骤(Linux篇)

  1. 前提需要下载VSCode CLI,选择对应版本:

  2. 下载后使用tar解压

tar -xvzf {{压缩包的名称}}
  1. 解压后当前目录下会有code二进制程序

  2. 先后执行以下命令:

./code tunnel --accept-server-license-terms


首次运行将会弹出一个登陆网址和8位数的code。复制登陆网址https://github.com/login/device到浏览器中登陆对应的GITHUB账户,并将code输入以完成服务器注册:

随后CTRL+C退出该程序,执行下述命令使得code以用户服务守护运行:

./code tunnel service install


P.S. 在使用systemctl管理的linux服务器上,服务将可以使用systemctl进行管理,服务名为code-tunnel

  1. 设置服务自启
systemctl --user enable --now code-tunnel

P.S. 由于用户服务默认会在用户登出时退出运行,因此还需要以下步骤:
参考 https://wiki.archlinux.org/title/Systemd/User#Automatic_start-up_of_systemd_user_instances
使用命令

loginctl enable-linger {你的用户名}

同时修改默认的 用户服务

vim /home/{你的用户名}/.config/systemd/user/code-tunnel.service

将其部分内容修改为:

WantedBy=default.target

WantedBy=multi-user.target修改为WantedBy=default.target
之后重新enable服务

systemctl --user enable --now code-tunnel

(可选)6.查看服务的运行状态

systemctl --user status code-tunnel

可能遇到的问题:

  1. 对于Centos7来说,无法使用systemctl --user ...启动用户服务,会提示dbus找不到文件(systemd 219版本不支持--user)
  • 自己写全局service,使用sudo指令(需要拥有sudo权限)
  • 换其他系统例如ubuntu或者arclinux

服务端安装步骤(Windows篇)

1-3步与Linux篇类似,下载的压缩包为zip格式。

  1. 解压后同样在code的目录下以管理员的命令执行
./code tunnel service install

首次安装与Linux篇
注意:

  1. 如果使用大写请不要使用Cas Lock大小写切换键,请使用shift+a-z输入大写
  2. 单独下载CLI,不要使用VSCode Desktop(自带的可能造成直接进入password无法输入username等情况)
    安装后与Linux篇同样的使用方式

可能出现的问题:

  1. 当前服务由于登陆失败导致无法运行
    解决方法 https://stackoverflow.com/questions/44604523/error-1069-the-service-did-not-start-due-to-logon-failure-tried-everything
  • win+R运行secpol.msc进入本地策略组
  • 将当前用户加入到允许以服务运行的白名单中

客户端

  1. 使用VSCode桌面端
  • 启动VSCode,安装tunnel插件

  • 进入页面

  • 选择指定的服务器进行连接,该操作与remote ssh相同

(可选)2. 直接使用VSCode网页

  • 进入之前服务器安装后的提示的网址https://vscode.dev/tunnel/{你的tunnel名称}
  • 如果忘记了tunnel名称,可以在服务器上执行
./code rename {你要设置的tunnel名称}
posted @ 2022-12-16 11:20  minskiter  阅读(3700)  评论(0编辑  收藏  举报