VS Code安装配置ssh服务结合内网穿透远程连接本地服务器详细步骤

news2024/11/27 2:44:32

文章目录

    • 前言
    • 1. 安装OpenSSH
    • 2.VS Code配置ssh
    • 3. 局域网测试连接远程服务器
    • 4. 公网远程连接
      • 4.1 ubuntu安装cpolar内网穿透
      • 4.2 创建隧道映射
      • 4.3 测试公网远程连接
    • 5. 配置固定TCP端口地址
      • 5.1 保留一个固定TCP端口地址
      • 5.2 配置固定TCP端口地址
      • 5.3 测试固定公网地址远程

前言

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

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

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

1. 安装OpenSSH

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

在这里插入图片描述

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

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

此时出现的结果就是电脑里没有安装OpenSSH的情况:
在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

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

ssh

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

在这里插入图片描述

2.VS Code配置ssh

在Windows上安装VS Code,安装成功后并打开。

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

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

ssh  username@ip

在这里插入图片描述

选择一个配置文件

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

  • 简单穿透测试
cpolar http 8080

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

  • 向系统添加服务
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协议

4.2 创建隧道映射

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

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

点击创建
在这里插入图片描述

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

在这里插入图片描述

4.3 测试公网远程连接

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

点击SSH TARGETS下面显示的服务器旁边的按钮进行连接操作
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

5. 配置固定TCP端口地址

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

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

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

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

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

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

在这里插入图片描述

5.2 配置固定TCP端口地址

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

在这里插入图片描述

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

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

点击更新

在这里插入图片描述

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

在这里插入图片描述

5.3 测试固定公网地址远程

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

在这里插入图片描述

使用保留的tcp地址连接

在这里插入图片描述

在这里插入图片描述

刷新一下

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2045055.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows系统开机出现Minimal BASH-like line editingis supported解决方法

Minimal BASH-like line editingis supported解决方法 一、问题描述 因为电脑不知道是不是安装了双系统,开机的时候会出现标题中的这个问题,网上查找资料一般说是双系统的问题,引导项缺失,然后Ubuntu进不去。可是我的电脑好像没有…

LR12 在Controller设置脚本并运行

1、当在Generator配置脚本完成后,点击工具-创建Controller场景,输入线程数即Vuser后点击确定。 2、这时会Controller中打开刚才配置的脚本,显示如下图所示, 在全局计划中点击启动Vuser,界面会显示如下弹窗,设置并发用户…

NTP时间服务器的工作原理解析

在当今数字化和信息化高度发展的时代,时间的准确性和同步性对于各种系统和应用程序至关重要。NTP时间服务器作为确保时间精准同步的关键设备,发挥着不可或缺的作用。 NTP 时间服务器的核心目标是为网络中的设备提供准确、一致和可靠的时间信息。它基于一…

RK3576 芯片介绍

RK3576 芯片介绍 RK3576瑞芯微第二代8nm高性能AIOT平台,它集成了独立的6TOPS(Tera Operations Per Second,每秒万亿次操作)NPU(神经网络处理单元),用于处理人工智能相关的任务。此外&#xff0…

7.实时时钟(RTC)

理论 使用时钟晶振:32.768KHz(2{15}) 代码编写 OLED显示实时时间,串口打印 晶体、RTC配置 晶体配置 RTC配置 串口配置参考:链接 Cube IDE代码 mian.c /* USER CODE BEGIN Includes */ #include "string.h" //27行 /* USER CODE EN…

TPAMI 2024 带Token迁移的整体预训练Transformer金字塔网络——Fast-iTPN

Fast-iTPN: Integrally Pre-Trained Transformer Pyramid Network with Token Migration https://github.com/sunsmarterjie/iTPN/blob/main https://arxiv.org/pdf/2211.12735 Introduction 背景 近年来,视觉模型取得了两大进展,一是将Vision Trans…

SAP LE学习笔记03 - 在IM(在库管理)中收货到仓库的流程,关联 WM移动Type与IM移动Type

上一章讲了 LE-WM的 WM和IM之间的关系。 SAP LE学习笔记02 - WM和库存管理(IM)之间的关系,保管Lot(Quant)-CSDN博客 本章继续将LE-WM的知识。 目录 1,在IM(在库管理)中收货到仓库的流程 a)&…

Golang | Leetcode Golang题解之第337题打家劫舍III

题目: 题解: func rob(root *TreeNode) int {val : dfs(root)return max(val[0], val[1]) }func dfs(node *TreeNode) []int {if node nil {return []int{0, 0}}l, r : dfs(node.Left), dfs(node.Right)selected : node.Val l[1] r[1]notSelected : …

EMC学习笔记5——辐射骚扰发射

辐射骚扰发射是基本的实验项目,目的是检验设备在工作时有没有产生意外的过强电磁辐射。 例如发电机,在工作时会产生意外的电磁波辐射,因为电子设备中隐藏了一些天线,这些隐藏的天线在辐射电磁波。 一、两种基本的天线结构 如前面…

智能小家电能否利用亚马逊VC搭上跨境快车?——WAYLI威利跨境助力商家

智能小家电行业在全球化背景下,正迎来前所未有的发展机遇。亚马逊为品牌商和制造商提供的一站式服务平台,为智能小家电企业提供了搭乘跨境快车、拓展国际市场的绝佳机会。 首先,亚马逊VC平台能够帮助智能小家电企业简化与亚马逊的合作流程&am…

Hive3:三种常用的复杂数据类型

一、Array类型 1、数据示例 2、实操 元数据 zhangsan beijing,shanghai,tianjin,hangzhou wangwu changchun,chengdu,wuhan,beijin创建表 CREATE TABLE myhive.test_array(name string, work_locations array<string>) ROW FORMAT DELIMITED FIELDS TERMINATED BY \t…

远程调用-OpenFeign

目录 1.RestTemplate存在问题 2.OpenFeign介绍 一、主要特点 二、应用场景 3.OpenFeign快速上手 3.1引入依赖 3.2添加注解 3.3编写OpenFeign的客户端 3.4远程调用 ​编辑3.5测试 4.OpenFeign参数传递 4.1传递单个参数 4.2传递多个参数 4.3传递对象 4.4传递JSO…

搬瓦工美国西海岸CN2 GIA VPS测评

很多人想知道搬瓦工美国CN2 GIA VPS系列怎么样&#xff1f;实际情况是&#xff1a;搬瓦工在美国西海岸的sanjose和losangeles运作着2.5Gbps-10Gbps CN2GIA带宽的VPS&#xff0c;底层虚拟为KVM&#xff0c;纯SSD阵列&#xff0c;支持在多机房之间切换。由于三网强制走同样的路由…

每日OJ_牛客_QQ2 微信红包

目录 牛客_QQ2 微信红包 解析代码 牛客_QQ2 微信红包 微信红包_牛客题霸_牛客网 解析代码 本题很多思路&#xff0c;第一种排序思路&#xff0c;如果一个数出现次数超过一半了&#xff0c;排序过后&#xff0c;必然排在中间&#xff0c;则最后遍历整个数组查看是否符合即可。…

在java环境下判断某个元素是否存在

1、在做web功能自动化时&#xff0c;有时需要通过判断某个元素是否存在来决定下一步的操作&#xff0c;但如果直接通过如下命令来进行查找时&#xff0c;如果不存在程序会报错&#xff0c;无法达到想要的效果&#xff0c;而java中也没有可以直接调用的工具类&#xff0c;因此就…

【java工具类】计算两个经纬度点之间的距离

计算两个经纬度点之间的距离 1、计算两个经纬度点之间的距离2、代码如下 1、计算两个经纬度点之间的距离 2、代码如下 public class DistanceCalculatorUtils {// 地球半径&#xff0c;单位为米private static final double EARTH_RADIUS 6371000;/*** 计算两个经纬度点之间的…

使用 HTTPS 代理在本地测试 AWS Lambdas

​ 欢迎来到雲闪世界。AWS Lambda 通常是在云中部署和执行代码的最简单方法之一&#xff0c;尤其是在使用sam CLI部署代码时。无服务器资源定义的简单性加上在本地打包资源并确保它们在 AWS 上运行的能力&#xff0c;提供了美妙的开发体验。 但有时&#xff0c;当构建和…

torch.roll()函数使用方法

官方文档在这里&#xff0c;说的比较清楚&#xff0c;但是举的例子不是很直观。我们再详细解释一下&#xff1a; torch.roll(input, shifts, dimsNone) → Tensor input&#xff1a;输入的tensorshifts&#xff1a;滚动的方向和长度&#xff0c;若为正&#xff0c;则向索引大…

Web 服务基础介绍

目录 1.1 互联网发展历程回顾 1.2 Web 服务介绍 1.2.1 Apache 经典的 Web 服务端 1.2.1.1 Apache prefork 模型 1.2.1.2 Apache worker 模型 1.2.1.3 Apache event模型 1.2.2 Nginx-高性能的 Web 服务端 1.2.3 用户访问体验和性能 1.2.3.1 用户访问体验统计 1.2.3.2 …

数字孪生技术框架:从数据到决策的桥梁

随着科技的飞速发展&#xff0c;数字孪生技术作为一种创新的信息化手段&#xff0c;正逐步渗透到各个行业领域&#xff0c;成为推动数字化转型的重要力量。数字孪生技术框架&#xff0c;作为支撑这一技术体系的核心架构&#xff0c;以其独特的层级结构&#xff0c;实现了从数据…