Windows系统安装OpenSSH结合VS Code远程ssh连接Ubuntu【内网穿透】

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

🌈个人主页: Aileen_0v0
🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL|
💫个人格言:“没有罗马,那就自己创造罗马~”

validation:the process of ensuring a product meets the user's needs

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击👉跳转到网站。

文章目录

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

前言

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

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

所以这篇文章教程,我们将通过vscode实现远程开发,并通过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、vscode配置ssh

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

以ssh连接ubuntu为例,打开vscode后,先尝试使用局域网地址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上打开vscode,使用所复制的公网地址来远程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 测试固定公网地址远程

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

在这里插入图片描述

使用保留的tcp地址连接

在这里插入图片描述

在这里插入图片描述

刷新一下

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tongweb7部署应用后应用卡顿的参考思路(by lqw)

文章目录 1.优化jvm和openfile相关参数2.排除网络延迟(仅供参考)3 查看服务器资源的使用情况3.1查看方式3.1.1cpu占用过高方法1:使用脚本show-busy-java-threads.sh进行分析方法2:使用jstack 3.1.2内存占用过高3.1.1线程阻塞 3 数…

Netty线程模型详解

文章目录 概述单Reactor单线程模型单Reactor多线程模型主从Reactor多线程模型 概述 Netty的线程模型采用了Reactor模式,即一个或多个EventLoop轮询各自的任务队列,当发现有任务时,就处理它们。Netty支持单线程模型、多线程模型和混合线程模型…

算法(结合算法图解)

算法简介简单查找二分查找法 选择排序内存的工作原理数组和链表数组选择排序小结 递归小梗 要想学会递归,首先要学会递归。 递归的基线条件和递归条件递归和栈小结 快速排序分而治之快速排序合并排序时间复杂度的平均情况和最糟情况小结 散列表散列函数缓冲小结性能…

不容易系列之(3)—— LELE的RPG难题 Java

题解:假设要涂n1个图案 1.第n个与第一个颜色不一样,第n1个则要与第一个和第n个都不一样,所以只有一种选择 f(n1)f(n) 2.第n个与第一个颜色一样,则第n1个有两种选择 而此时反过去看第n-1个的选择,第一个和第n个都要…

读西游记第一回:西游记世界格局

天地之数: 元:十二万九千六百岁(129600年) 1元12会:子、丑、寅、卯、巳、午、未、申、酉、戌、亥。每会18000年。与12地支对应。 亥会期:前5400年混沌期,后5400年,盘古开天辟地&am…

NVMFS5A160PLZT1G汽车级功率MOSFET P沟道60 V 15A 满足AEC-Q101标准

关于汽车电子AEC Q101车规认证? 是一种针对分立半导体的可靠性测试认证程序,由汽车电子协会发布。这个认证程序主要是为了确保汽车电子产品在各种严苛的条件下能够正常工作和可靠运行。它包括了对分立半导体的可靠性、环境适应性、温度循环和湿度变化等…

这是一份简单到没朋友的上手图数据库的图文教程

前几天和社区小伙伴友好交流(闲聊),不少加入 NebulaGraph 的小伙伴虽然对图感兴趣,但是因为业务调整或者是时间缘故,最终没能用上 NebulaGraph。而他们当中不少的小伙伴说,春节我打算好好学习一番。既然大家…

vue-cli + vue3.0创建的项目,打包后白屏

一、首先先确认下打包后路径是否正确 publicPath: process.env.NODE_ENV ‘production’ ? ‘./’ : ‘/’, vue2.0 是 baseUrl vue3.0 换成了 publicPath 如果上面配置是正确的,我们再继续查找别的原因 二、检查是否使用了 Vue Router history 模式。 如果使用…

小型校园网配置笔记

1&#xff0c;搭建网络拓扑图 LSW1:三层交换机命令&#xff1a; <Huawei>sys [Huawei]undo info-center enable Info: Information center is disabled. [Huawei]vlan batch 10 20 30 40 100 101 [Huawei]int vlan 10 [Huawei-Vlanif10]ip add 192.168.10.254 24 …

代码随想录(单调栈2)| 503.下一个更大元素II 42. 接雨水

503.下一个更大元素II 这道题和 739. 每日温度 几乎如出一辙&#xff0c;可以自己尝试做一做 leetcode题目链接 文章讲解 本题就是一个环形的下一个元素 形成一个只有一圈的环的方法 循环的长度是vector长度的两倍&#xff0c;获取值的时候通过nums[i % nums.size()] cla…

Stable-Diffusion的WebUI部署实战

1、环境准备及安装 1.1、linux环境 # 首先&#xff0c;已经预先安装好了anaconda&#xff0c;在这里新建一个环境 conda create -n sdwebui python3.10 # 安装完毕后&#xff0c;激活该环境 conda activate sdwebui# 安装 # 下载stable-diffusion-webui代码 apt install wget…

Vue3 前端生成随机id( 生成 UUID )

效果展示 封装工具&#xff08;代码展示&#xff09; 重新创建一个文件**/utils/someTools.js**&#xff0c;并在里面写入如下代码。 function Tools() {}Tools.prototype.guid function () {return xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx.replace(/[xy]/g, function (c) {v…