基于Tailscale+vscode server搭建远程开发环境

环境配置

  • 远程机器: Ubuntu 22.04
  • 本地机器: Mac OS
  • 问题: 两台机器内网不互通

第一步:Tailscale网络穿透配置

1. 注册账号

访问 https://tailscale.com/ 注册账号

2. 远程机器(Ubuntu)配置

Linux环境安装相对简单,基本上就几个命令:

# 一键安装
curl -fsSL https://tailscale.com/install.sh | sh

# 启动服务
sudo -i
nohup tailscaled &  # 如何以服务形式启动自行查询
exit

tailscale login        # 按照给定的登陆网址登陆和授权
tailscale up --ssh    # 让本机连机,并开启ssh访问

3. 本地机器(Mac)配置

Mac环境正常安装需要使用App Store,但大陆账号又不允许下载该软件。故也需要使用命令安装,从官网找到的手顺为 https://github.com/tailscale/tailscale/wiki/Tailscaled-on-macOS

# 假设已经安装了go,则一键执行
go install tailscale.com/cmd/tailscale{,d}@main

默认会安装到 $HOME/go/bin/,同linux版本,也是有2个工具:

  • tailscaled: 底层服务,只要确保它处于启动状态即可,可以直接启动,也可以以服务的形式启动
  • tailscale: 用来登陆、连机或其它具体功能

为了方便使用,vim ~/.bash_profile,添加:

alias tailscale=$HOME/go/bin/tailscale
alias tailscaled=$HOME/go/bin/tailscaled

# 启动服务
sudo -i
nohup $HOME/go/bin/tailscaled &
exit

# 登陆
tailscale login
tailscale up --ssh

到这里网络的配置基本就完成了,目前已经可以实现当前机器对远程机器的内网穿透,包括ssh登陆。

这时可以通过tailscale status查看当前账号所建立的"局域网"下的所有机器:

$ tailscale status
100.77.43.30    macos                   xfek@      macOS   -
100.67.14.66    ubuntu24.04                xfek@      linux   active; direct 114.249.56.103:27598, tx 7358528 rx 18082896

其中macos就是本机,这时要ssh登陆就像连接一个公网的机器完全一样:

ssh root@100.67.14.66

第二步:基于VSCode Server的开发环境

# 下载安装
curl -fsSL https://code-server.dev/install.sh | sh

# 启动服务
nohup code-server --bind-addr 0.0.0.0:8080 &

到这里就可以通过浏览器访问 http://0.0.0.0:8080 使用vscode。

如果要远程访问,很简单,如前面tailscale status看到的ip,tailscale为远程机器分配的ip是100.67.14.66,故可以通过 http://100.67.14.66:8080/ 访问vscode server开发环境,非常方便。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容