跨网连接vscode

发布于:2025-04-03 ⋅ 阅读:(17) ⋅ 点赞:(0)

上篇博客我们已经建立起了ssh服务,但是这仅仅支持局域网连接,无法支持从外部网络访问,本章我们就来解决这个问题。

这里我们借助工具cpolar内网穿透来实现,无需公网IP,也不用设置路由器,操作简单。(前情提要:对于需要长期连接的用户,需要消费升级至专业版

cpolar官网:https://www.cpolar.com/

1. ubuntu安装cpolar内网穿透

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

  • 查看版本号,正常显示即为安装成功
cpolar version

  •  token认证

注册登录cpolar官网,注册登录完成之后点击左侧的验证按钮,然后复制token

在终端运行如下命令:

cpolar authtoken {你所复制的token}
  • 穿透测试
cpolar http 8080

如下图所示有公网生成地址则说明穿透成功

  • 向系统添加服务

sudo systemctl enable cpolar

  • 启动cpolar服务

sudo systemctl start cpolar

  • 查看服务状态,如下图显示active则为启动状态

sudo systemctl status cpolar

  •  cpolar安装并配置完成后,在浏览器上访问本地9200端口,使用cpolar邮箱账号登录cpolar web UI管理界面,登录完成的页面如下所示

 

cpolar安装成功后,默认会安装2条样例隧道,可以自行编辑或者删减:

  • ssh隧道:指向本地22端口,TCP协议
  • website隧道:指向本地8080端口,HTTP协议

2. 创建隧道映射

我们可以直接使用样例隧道ssh,或者重新创建一个隧道,使用tcp协议,指向22端口。点击左侧仪表盘的隧道管理——创建隧道

  • 隧道名称:可自定义,注意不要重复
  • 协议:tcp
  • 本地地址:22
  • 端口类型:随机临时TCP端口
  • 地区:China vip

隧道创建成功后,点击左侧的状态——在线隧道列表,可以看到,刚刚创建的隧道已经有生成了相应的公网地址,将其复制下来

3. 测试公网连接

在windows上打开vscode,使用所复制的公网地址来远程SSH。

具体连接命令为 ssh username@6.tcp.vip.cpolar.cn -p 12864

其中username为目标主机的用户名,12864为穿透的端口号,一定不能漏掉

这样基本就连接完成了

4. 配置固定TCP端口地址

由于以上所创建的隧道选择的是随机临时TCP端口,所生成的公网地址会在24小时内随机变化,对于需要长期远程的用户来讲不方便。不过我们可以为其配置固定的地址进行远程连接,后续远程无需先查看随机公网地址再进行远程。

注意:配置固定TCP端口地址功能需要升级至专业版套餐或以上才支持。

打开cpolar官网,登录到官网后台cpolar - secure introspectable tunnels to localhost,点击左侧的预留,我们来保留一个固定TCP端口地址:

  • 地区:选择china
  • 描述:即备注,可自定义

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

 在ubuntu系统上打开浏览器访问本地9200端口,登录cpolar web UI管理界面。点击左侧的隧道管理——隧道列表,找到ssh隧道,点击右侧的编辑,我们来修改隧道信息,将固定tcp端口地址配置到隧道中

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,找到SSH隧道,可以看到公网地址已经更新成为了固定tcp地址。

 然后将改地址复制下来,用打开windows中的vscode,通过ssh username@6.tcp.vip.cpolar.cn -p 12864 这种形式的命令进行连接即可