使用VSCode SSH公网远程连接本地服务器开发 - cpolar内网穿透

简介: 使用VSCode SSH公网远程连接本地服务器开发 - cpolar内网穿透

前言

远程连接服务器工具有很多,比如XShell、putty等,可以通过ssh来远程连接服务器,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到服务器运行、服务器上的图片也无法直接查看…


而vscode可以很好的解决这些问题,它的核心组件都运行在远程环境中,本地的开发机器完全不需要拥有远程开发环境的源代码,在vscode上编写代码可以直接同步更新到服务器上,给你带来丝滑般的远程开发体验。


所以这篇文章教程,我们将通过vscode实现远程开发,并做内网穿透实现在公网环境下的远程连接,在外任意地方也可以远程连接服务器进行开发写代码。


1、安装OpenSSH

打开Windows开始页面,直接进行搜索PowerShell,打开第一个Windows PowerShell,点击以管理员身份运行

6447388834dc41fbb13cfe607eaae3d1.png

打开之后,输入以下指令:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

此时出现的结果就是电脑里没有安装OpenSSH的情况:

2abc6aad2a814759bc7ea7e6bcbdbc31.png

如果已经安装了OpenSSH那么跳过这一步,没有安装的话则输入以下指令

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

9524697d5caf4bf69951fd953cea8046.png

最终结果为如下,则代表着OpenSSH安装成功:

8cb3a251890747639eeb5a60565b4ee9.png

显示OpenSSH安装成功后,在打开本地cmd进入之后输入命令ssh

ssh

如果显示的是这样结果的话,则说明正确:

4d79afd37ad14857810c6b3b44114f6b.png


2、vscode配置ssh

在windows上安装vscode,安装成功后并打开。

点击左侧工具栏中的扩展,搜索“ssh”,选择第一个Remote - SSH进行安装(我已经安装过了,所有此时显示的是禁用状态)

f371917f68024bb189e6f68de500140d.png

点击左下角的“设置”按钮,紧接着点击“设置”

e41ac5f088ed44cca71f1a707b7e4aef.png

根据截图的提示,找到Show Login Terminal并勾选该选项

1e3b54796aea42908e781de312422bd2.png

点击左侧工具栏中的远程按钮,可以查看远程连接,点击SSH TARGETS下面显示的服务器旁边的按钮进行连接操作

8c7aa31b935f4f0a931c9f9a3407c725.png


3. 局域网测试连接远程服务器

以ssh连接ubuntu为例,打开vscode后,先尝试使用局域网地址ssh远程ubuntu

输入命令到对话框中,并回车

ssh  username@ip

85591a708336414883a7ee0a129908a1.png

选择一个配置文件

71a7329d092244d99a9b1e2f08b3a05a.png

输入完成在右侧会显示出来刚刚添加的ssh 连接,点击 -->图标 连接,出现输入密码,输入密码即可

18f49ad487614daa8048ba1daa690448.png

出现绿色标志表示连接成功

6394f2e3f61343f68260d99200997f08.png


4. 公网远程连接

目前我们只能在局域网内进行远程,具有一定的局限性。不过我们通过内网穿透来实现在公网环境下的远程连接。这里我们借助工具cpolar内网穿透来实现,无需公网IP,也不用设置路由器,操作简单。

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


4.1 ubuntu安装cpolar内网穿透

本次教程我们使用的是ubuntu 图形化系统,我们需要先在ubuntu上安装配置cpolar内网穿透,支持一键自动安装脚本。

  • 国内安装
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 或 cpolar短链接安装方式:(国外使用)
curl -sL https://git.io/cpolar | sudo bash
  • 查看版本号,正常显示即为安装成功
cpolar version
  • token认证

登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里

cpolar authtoken xxxxxxx

31f613edcceb4ff286dbe641086ed33d.png

  • 简单穿透测试
cpolar http 8080

有正常生成相应的公网地址,按ctrl+c退出

  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar
  • 查看服务状态,显示如下图所示为active则为已启动状态
sudo systemctl status cpolar

d1e331b2b3eb418791976f5cac8ce4e8.png

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

d2083e2ef11e44b68f19631f4f0fc3ce.png

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

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


4.2 创建隧道映射

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

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


点击创建

38ba07a2cd02439b964903da7ab124d8.png

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

390f594f7a274833849b38dc93cc3101.png

4.3 测试公网远程连接

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

点击SSH TARGETS下面显示的服务器旁边的按钮进行连接操作

0a57255d440b4dd79f5e78a4354c32c5.png

如左侧没有出现添加的连接,点如下按钮刷新

f3af3c302de646dda263ca47972931a5.png

接着点击小箭头 --> 连接,出现选择ssh 类型,选择linux

dcfcee86d6fd429cb2cb193607f3e5cb.png

065d479069454bfab14dee45aec3aaac.png

输入参数,和密码即可远程成功,方便快捷。

b103420edab14eceaaf13cf8bfb63ea7.png

3e75e8de5e4147de90b797c3dd002dab.png

出现以下信息表示远程连接成功

a1bfd469ffa0481a8f500fa2eff095f4.png


5. 配置固定TCP端口地址

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


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


5.1 保留一个固定TCP端口地址

打开cpolar官网,登录到官网后台https://dashboard.cpolar.com/reserved,点击左侧的预留,我们来保留一个固定TCP端口地址:

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

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

ba8fac1c29484515acbaf1d67c48f936.png


5.2 配置固定TCP端口地址

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

883454b116fd4104bdc867f868f4a1e2.png

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定tcp端口
  • 预留的tcp地址:填写保留成功的地址

点击更新

9c7415242d8048fe9b6470d5acf29386.png

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

d329603e852a4d049390d0f1b60b7237.png


5.3 测试固定公网地址远程

打开vscode,选择添加一个ssh连接

e15002ef0ab64c69ba432485fbb43c89.png

使用保留的tcp地址连接

9f2c2cdde9154437bc023c8c3fbed1b7.png

557ed187cf894091a54d4ca475270503.png

刷新一下f82f49fbb67448dc8a7ada2f7e468730.png

刷新出来地址,点击右边小箭头”–>”连接,出现以下提示,输入yes

a7b004605309498f9b84f75b481c17b6.png

出现绿色信息,表示连接成功。

cc197c8763cc47a0a9d2d7030013d8e6.png

目录
相关文章
|
1月前
|
Java 网络安全 数据安全/隐私保护
主流SSH远程连接客户端——MobarXterm安装教程
本文介绍了从FinalShell转向MobarXterm的原因及使用体验,详细对比了当前主流SSH客户端,推荐使用MobarXterm。文章还提供了MobarXterm的安装步骤、基本配置方法,包括设置默认编辑器、配置右键粘贴、SSH配置、关闭X-Server服务以及SFTP文件传输功能的使用。
主流SSH远程连接客户端——MobarXterm安装教程
|
1月前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
2月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
60 2
|
2月前
|
网络安全
Ubuntu14.04安装ssh服务器
Ubuntu14.04安装ssh服务器
57 0
|
3月前
|
运维 安全 网络安全
常用的运维工具:SSH和远程连接工具详解
常用的运维工具:SSH和远程连接工具详解
132 3
|
1月前
|
自然语言处理 API C++
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
SmartVscode插件深度解析:自然语言控制VS Code的革命性工具及其开源框架App-Controller
|
4月前
|
iOS开发 MacOS
【Mac系统】解决Vscode中LeetCode插件不能刷剑指offer题库
文章讨论了解决Mac系统中Vscode里LeetCode插件无法刷剑指Offer题库的问题,并提供了一些相关的使用技巧和资源链接。
257 1
|
1月前
|
开发工具 C++ git
利用VS Code提升开发效率的五大插件推荐
本文推荐了五款能显著提升开发效率的VS Code插件:ESLint用于代码质量和风格检查;Prettier自动格式化代码;GitLens增强Git功能;Live Server提供前端实时预览;Docker支持容器管理。
|
2月前
|
自然语言处理 JavaScript 开发者
通义灵码插件:VSCode 的智能编程助手
通义灵码插件:VSCode 的智能编程助手
595 3
|
2月前
|
前端开发 JavaScript 编译器
2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~
【10月更文挑战第11天】2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~
280 0
2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~
下一篇
DataWorks