文章目录
- 前言
- 1、安装OpenSSH
- 2、vscode配置ssh
- [3. 局域网测试连接远程服务器](#3. 局域网测试连接远程服务器)
- [4. 公网远程连接](#4. 公网远程连接)
-
- [4.1 ubuntu安装cpolar内网穿透](#4.1 ubuntu安装cpolar内网穿透)
- [4.2 创建隧道映射](#4.2 创建隧道映射)
- [4.3 测试公网远程连接](#4.3 测试公网远程连接)
- [5. 配置固定TCP端口地址](#5. 配置固定TCP端口地址)
-
- [5.1 保留一个固定TCP端口地址](#5.1 保留一个固定TCP端口地址)
- [5.2 配置固定TCP端口地址](#5.2 配置固定TCP端口地址)
- [5.3 测试固定公网地址远程](#5.3 测试固定公网地址远程)
前言
远程连接服务器的工具有很多,比如XShell、putty等,可以通过ssh来远程连接服务器,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到服务器运行、服务器上的图片也无法直接查看。
而vscode可以很好的解决这些问题,它的核心组件都运行在远程环境中,本地的开发机器完全不需要拥有远程开发环境的源代码,在vscode上编写代码可以直接同步更新到服务器上,给你带来丝滑般的远程开发体验。
所以这篇文章教程,我们将通过vscode实现远程开发,并通过cpolar内网穿透实现在公网环境下的远程连接,让你在出门在外任意地方也可以远程连接服务器进行开发写代码。
1、安装OpenSSH
打开Windows开始页面,直接进行搜索PowerShell
,打开第一个Windows PowerShell
,点击以管理员身份运行
![](https://file.jishuzhan.net/article/1720372159588601857/0cf29f41d9548932c6bdfb04e2c220f3.webp)
打开之后,输入以下指令:
shell
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
此时出现的结果就是电脑里没有安装OpenSSH的情况:
如果已经安装了OpenSSH那么跳过这一步,没有安装的话则输入以下指令
shell
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
![](https://file.jishuzhan.net/article/1720372159588601857/fa7e859e7d3e45380282e8d42bb19453.webp)
最终结果为如下,则代表着OpenSSH安装成功:
![](https://file.jishuzhan.net/article/1720372159588601857/0b31301f559f007d16c93c381a1333d0.webp)
显示OpenSSH安装成功后,在打开本地cmd进入之后输入命令ssh
shell
ssh
如果显示的是这样结果的话,则说明正确:
![](https://file.jishuzhan.net/article/1720372159588601857/2450ef67eefb6e46a56cd92cfd5c900f.webp)
2、vscode配置ssh
在windows上安装vscode,安装成功后并打开。
点击左侧工具栏中的扩展,搜索"ssh",选择第一个Remote - SSH
进行安装(我已经安装过了,所有此时显示的是禁用状态)
![](https://file.jishuzhan.net/article/1720372159588601857/88bddf316708b071209d57d75911b1b9.webp)
点击左下角的"设置"按钮,紧接着点击"设置"
![](https://file.jishuzhan.net/article/1720372159588601857/7e8a5e1625d3eec55754d3a91cdc431f.webp)
根据截图的提示,找到Show Login Terminal
并勾选该选项
![](https://file.jishuzhan.net/article/1720372159588601857/cb3cf60cf4f4d7785d5db93fe2455753.webp)
点击左侧工具栏中的远程
按钮,可以查看远程连接,点击SSH TARGETS
下面显示的服务器旁边的按钮进行连接操作
![](https://file.jishuzhan.net/article/1720372159588601857/85a92e747cdba29d3c7d3641b0c6d269.webp)
3. 局域网测试连接远程服务器
以ssh连接ubuntu为例,打开vscode后,先尝试使用局域网地址ssh远程ubuntu
输入命令到对话框中,并回车
shell
ssh username@ip
![](https://file.jishuzhan.net/article/1720372159588601857/7c8a177b7dcfdbea02a4e4e46cc0fef8.webp)
选择一个配置文件
![](https://file.jishuzhan.net/article/1720372159588601857/d2a5c4345fe7c36e82e59705e3a9714d.webp)
输入完成在右侧会显示出来刚刚添加的ssh 连接,点击 -->图标 连接,出现输入密码,输入密码即可
![](https://file.jishuzhan.net/article/1720372159588601857/c7f06db1707696d64f9da6e82fe2c012.webp)
出现绿色标志表示连接成功
![](https://file.jishuzhan.net/article/1720372159588601857/51f5c993600408a675cdd3b76db1a06e.webp)
4. 公网远程连接
目前我们只能在局域网内进行远程,具有一定的局限性。不过我们通过内网穿透来实现在公网环境下的远程连接。这里我们借助工具cpolar内网穿透来实现,无需公网IP,也不用设置路由器,操作简单。
cpolar官网:https://www.cpolar.com/
4.1 ubuntu安装cpolar内网穿透
本次教程我们使用的是ubuntu 图形化系统,我们需要先在ubuntu上安装配置cpolar内网穿透,支持一键自动安装脚本。
- 国内安装
shell
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- 或 cpolar短链接安装方式:(国外使用)
shell
curl -sL https://git.io/cpolar | sudo bash
- 查看版本号,正常显示即为安装成功
shell
cpolar version
- token认证
登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里
shell
cpolar authtoken xxxxxxx
![](https://file.jishuzhan.net/article/1720372159588601857/fd011baf58424b79917689be4a2190a3.webp)
- 简单穿透测试
shell
cpolar http 8080
有正常生成相应的公网地址,按ctrl+c退出
- 向系统添加服务
shell
sudo systemctl enable cpolar
- 启动cpolar服务
shell
sudo systemctl start cpolar
- 查看服务状态,显示如下图所示为
active
则为已启动状态
shell
sudo systemctl status cpolar
![](https://file.jishuzhan.net/article/1720372159588601857/8d7bae60aec37a66199172a9247a43b6.webp)
cpolar安装并配置完成后,在浏览器上访问本地9200端口,使用cpolar邮箱账号登录cpolar web UI管理界面
![](https://file.jishuzhan.net/article/1720372159588601857/3fe1fd858dbdbeed14ac3dcbf75c4eb1.webp)
cpolar安装成功后,默认会安装2条样例隧道,可以自行编辑或者删减:
- ssh隧道:指向本地22端口,TCP协议
- website隧道:指向本地8080端口,HTTP协议
4.2 创建隧道映射
我们可以直接使用样例隧道ssh,或者重新创建一个隧道,使用tcp协议,指向22端口。点击左侧仪表盘的隧道管理------创建隧道
- 隧道名称:可自定义,注意不要重复
- 协议:tcp
- 本地地址:22
- 端口类型:随机临时TCP端口
- 地区:China vip
点击创建
隧道创建成功后,点击左侧的状态------在线隧道列表,可以看到,刚刚创建的隧道已经有生成了相应的公网地址,将其复制下来
![](https://file.jishuzhan.net/article/1720372159588601857/bb611c8051492ed96bbee1d2331d9d8b.webp)
4.3 测试公网远程连接
在windows上打开vscode,使用所复制的公网地址来远程SSH。
点击SSH TARGETS
下面显示的服务器旁边的按钮进行连接操作
如左侧没有出现添加的连接,点如下按钮刷新
![](https://file.jishuzhan.net/article/1720372159588601857/e308eed01411b8822f32e4e9aff1cc5c.webp)
接着点击小箭头 --> 连接,出现选择ssh 类型,选择linux
![](https://file.jishuzhan.net/article/1720372159588601857/790f78df75065caecf7a38b0f1ada7de.webp)
![](https://file.jishuzhan.net/article/1720372159588601857/ab820f562b130090e9a2775ad623a5bf.webp)
输入参数,和密码即可远程成功,方便快捷。
![](https://file.jishuzhan.net/article/1720372159588601857/b4effd6f200974a6a27272ae071260b5.webp)
![](https://file.jishuzhan.net/article/1720372159588601857/383e939a1ae91769a87e1aff7625c7be.webp)
出现以下信息表示远程连接成功
![](https://file.jishuzhan.net/article/1720372159588601857/6da58b82fb0aa549aa6409c2b6739357.webp)
5. 配置固定TCP端口地址
由于以上所创建的隧道选择的是随机临时TCP端口,所生成的公网地址会在24小时内随机变化,对于需要长期远程的用户来讲不方便。不过我们可以为其配置固定的地址进行远程连接,后续远程无需先查看随机公网地址再进行远程。
注意:配置固定TCP端口地址功能需要升级至专业版套餐或以上才支持。
5.1 保留一个固定TCP端口地址
打开cpolar官网,登录到官网后台https://dashboard.cpolar.com/reserved,点击左侧的预留,我们来保留一个固定TCP端口地址:
- 地区:选择china
- 描述:即备注,可自定义
地址保留成功后,系统会生成相应的固定公网地址,将其复制下来
![](https://file.jishuzhan.net/article/1720372159588601857/670358c406d29fc2090e72280a337512.webp)
5.2 配置固定TCP端口地址
在ubuntu系统上打开浏览器访问本地9200端口,登录cpolar web UI管理界面。点击左侧的隧道管理------隧道列表,找到ssh隧道,点击右侧的编辑,我们来修改隧道信息,将固定tcp端口地址配置到隧道中
![](https://file.jishuzhan.net/article/1720372159588601857/d51589e246e9b80d571c0dbbc0652126.webp)
修改隧道信息,将保留成功的固定tcp地址配置到隧道中
- 端口类型:修改为固定tcp端口
- 预留的tcp地址:填写保留成功的地址
点击更新
![](https://file.jishuzhan.net/article/1720372159588601857/fc4b154c667732b5bbe0e4e65d108b77.webp)
隧道更新成功后,点击左侧仪表盘的状态------在线隧道列表,找到SSH隧道,可以看到公网地址已经更新成为了固定tcp地址。
![](https://file.jishuzhan.net/article/1720372159588601857/b61fc1bba2808494b5f71cf0aaea8153.webp)
5.3 测试固定公网地址远程
打开vscode,选择添加一个ssh连接
![](https://file.jishuzhan.net/article/1720372159588601857/26715c2f55988369f650827c071fd80d.webp)
使用保留的tcp地址连接
![](https://file.jishuzhan.net/article/1720372159588601857/65c9ddb6bed2431f850274a7386865c5.webp)
![](https://file.jishuzhan.net/article/1720372159588601857/918fd8514278bd1d0d98a8611c43c8a1.webp)
刷新一下
![](https://file.jishuzhan.net/article/1720372159588601857/ef8a4fa4337441895187c0ce34ec3a4d.webp)
刷新出来地址,点击右边小箭头"-->"连接,出现以下提示,输入yes
![](https://file.jishuzhan.net/article/1720372159588601857/7e8a09a0df43fc9b311f8b7efd0c7872.webp)
出现绿色信息,表示连接成功。
![](https://file.jishuzhan.net/article/1720372159588601857/a42a8170114b18d6957bf608151bc12e.webp)