iPad Pro安装Code APP结合内网穿透实现公网SSH远程连接服务器云开发

文章目录

    • 1. 在iPad下载Code APP
    • 2.安装cpolar内网穿透
      • 2.1 cpolar 安装
      • 2.2 创建TCP隧道
    • 3. iPad远程vscode
    • 4. 配置固定TCP端口地址
      • 4.1 保留固定TCP地址
      • 4.2 配置固定的TCP端口地址
      • 4.3 使用固定TCP地址远程vscode

本文主要介绍开源iPad应用IDE Code App 如何下载安装,并通过cpolar内网穿透工具实现SSH远程连接服务器进行云端编程开发,有效节省工作时间并提高开发效率。

随着平板电脑的普及,它已经不仅仅是一个娱乐工具,而是逐渐融入我们的工作与生产活动中。更为值得一提的是,强大的性能让 iPad 在越来越多的场景下,成为生产力工具,如设计、协同办公、教学领域等等。不论是编辑文件,还是进行代码编写,平板电脑都能轻松胜任,实现移动办公的全新体验。

iPad Pro秒变生产力!安装Code App实现SSH远程服务器编程开发

1. 在iPad下载Code APP

在iPad上,点击打开AppStore,下载软件:Code APP

5122dafff6f9b10b753845e47ee222e

下载成功后找到远程服务器

2f70f64835dd8320645c8f6e74aec25

接下来需要创建TCP隧道,指向服务器的22端口。

2.安装cpolar内网穿透

2.1 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

image-20231213120807809

  • 简单穿透测试
cpolar http 8080

按ctrl+c退出

  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar
  • 查看服务状态
sudo systemctl status cpolar

正常显示为active则表示服务为正常在线启动状态

2.2 创建TCP隧道

首先需要创建一条TCP隧道,指向刚才Code APP远程服务器的22端口.

在ubuntu上打开浏览器访问本地9200端口,登录cpolar web ui界面,点击左侧的隧道管理——创建隧道

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

点击创建

4e5efe2a18788c99bf4923fd7e720f0

隧道创建成功之后,点击左侧的状态——在线隧道列表,将所生成的公网地址复制下来。

image-20231213103844509

3. iPad远程vscode

继续回到Code App,打开远程服务器,找到新建远程服务器

协议:SSH

地址:填写刚才cpolar创建的tcp隧道中的地址(例如:6.tcp.cpolar.top)

端口:cpolar生成的公网地址端口号(例如:14503)

用户名:填写服务器端用户名

密码:填写服务器端密码

填写成功后,点击连接

image-20231213104919384

显示连接成功

696ba42f72c86badc537d5791d4b18f

可以看到服务器端的文件夹

a1ae9fe483c6095529af76df4260448

选择要编辑的文件夹,长按选择 设置为工作文件夹

image-20231213105501176

可以看到进入到了vscode界面,在这里进行代码的开发及修改等,与服务器端vscode是一样的

56919fd325cb542141991f4b187cc54

aba4d07ae02fe18e0848d6619255184

测试一下是否同步,我们在服务器端修改下代码

1702436574670

image-20231213110343407

回到iPad的Code APP,在终端执行一下 go run main.go 输出大写的 Hello World ,

image-20231213111554304

说明在iPad使用ssh远程连接服务器成功,这样实现了我们在外出差或者不想拿着笔记本电脑,仅需一个ipad实现vscode的代码开发,提高了工作效率。

4. 配置固定TCP端口地址

由于前面我们创建的ssh端口的隧道选择的是随机临时地址,该地址会在24小时内变化,为了使我们ipad里面使用vscode远程连接更加通畅,我们需要固定ssh的公网地址。

注意需要将cpolar套餐升级至专业套餐或以上。

4.1 保留固定TCP地址

登录cpolar官网后台,点击左侧的预留,找到保留的TCP地址:

  • 地区:选择China VIP
  • 描述:即备注,可自定义填写

点击保留

image-20231213111756911

固定TCP地址保留成功,系统生成相应的公网地址+固定端口号,将其复制下来

image-20231213111835865

4.2 配置固定的TCP端口地址

浏览器访问http://127.0.0.1:9200/登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到刚才创建的code隧道,点击右侧的编辑

image-20231213111942266

修改隧道信息,配置固定TCP端口地址:

  • 端口类型:改为选择固定TCP端口
  • 预留的TCP地址:填写刚刚保留成功的固定TCP端口地址

点击更新

image-20231213112115443

提示更新隧道成功,点击左侧仪表盘的状态——在线隧道列表,可以看到刚刚修改的隧道的公网地址已经更新为固定TCP端口地址,将其复制下来。

image-20231213112207448

4.3 使用固定TCP地址远程vscode

继续回到Code APP远程服务器界面,看到当前远程服务器,点击断开

bb47a6cbc3ccb6c4f9f98409063ac50

重新填写刚才我们配置成功的固定TCP端口地址。

54b46070aa55e4640a58b0d55e0c30b

然后点击连接就可以了!

a79e42b25e012bd69c0591b4d56c89d

至此,教程就结束了,创建的固定公网地址不会再随机变化,使用iPad开启愉快的编程吧!

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

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

相关文章

零基础Web3入门到精通

Web3 是互联网的下一代,它将使人们能够拥有自己的数据并控制自己的在线体验。Web3 基于区块链技术,该技术为安全、透明和可信的交易提供支持。 现在的web已被成为传统互联网了,那么如何抓住下一代互联网的红利呢,有没有想一起学习…

react 简单的demo

实现些简单的deomo 显示时间 自定义hooks 使用定时器、生命周期、通过状态渲染更新 // hooks 文件 import { useEffect, useState } from reactfunction getDate() {let date new Date();let year date.getFullYear()let hour date.getHours();let minutes date.getMinut…

爬虫requests.get中的参数

requests.get 是 Python 中 requests 库的一个方法,用于发送 GET 请求。它有许多参数可以配置,以下是一些常见的参数: url:指定要发送 GET 请求的 URL。params:可选参数,用于向请求添加 URL 参数。data&…

多线程基础:线程创建、同步与通信——学习指南

多线程基础:线程创建、同步与通信——学习指南 文章目录 多线程基础:线程创建、同步与通信——学习指南前言一、线程创建1、原理2、案例3、使用场景推荐 二、线程同步1、原理2、案例1)synchronized关键字1.1)修饰实例方法&#xf…

qt-C++笔记之QSpinBox控件

qt-C笔记之QSpinBox控件 code review! 文章目录 qt-C笔记之QSpinBox控件1.运行2.main.cpp3.main.pro4.《Qt6 C开发指南》&#xff1a;4.4 QSpinBox 和QDoubleSpinBox 1.运行 2.main.cpp #include <QApplication> #include <QSpinBox> #include <QPushButton&g…

Vue3 实现基于token 用户登录

前后端分离情况下&#xff0c;实现的大致思路 1 第一次登录的时候&#xff0c;前端调用后端的登录接口&#xff0c;发送用户名与密码 2 后端收到请求&#xff0c;验证用户名和密码&#xff0c;验证成功 给前端返回一个token 3 前段拿到token 将token 存储进localStorage 和…

electron打包桌面版.exe之vue项目踩坑(vue3+electron 解决打包后首页打开空白,打包后路由不跳转及请求不到后端数据等问题)

vue项目https://www.qingplus.cn/components-web/index打包桌面版问题集合 一、静态资源加载问题 npm run electron_dev桌面版运行后页面空白&#xff0c;内容未加载。 填坑&#xff1a; 打包配置要用相对路径 vite.config.ts文件中的base要改成./&#xff0c;之前加了项目…

golang 和java对比

Go(也称为 Golang)和 Java 是两种流行的编程语言,它们在某些方面有相似之处,但在其他方面又有很大的区别。以下是它们之间的对比: 性能和并发性 Go:Go 是一种编译型语言,以其出色的并发性能而闻名。它具有轻量级的协程(goroutines)和通道(channels),使得编写并发代…

2024.3.27力扣(1200-1400)刷题记录

一、2215. 找出两数组的不同 1.排序双指针。我以为遍历时复很高&#xff0c;所以用的双指针。 class Solution:def findDifference(self, nums1: List[int], nums2: List[int]) -> List[List[int]]:#排序双指针nums1.sort()nums2.sort()ans [[],[]]a,b,n1,n2 0,0,len(nu…

软件接口安全设计规范及审计要点

1.token授权安全设计 2.https传输加密 3.接口调用安全设计 4.日志审计里监控 5.开发测试环境隔离&#xff0c;脱敏处理 6.数据库运维监控审计 项目管理全套资料获取&#xff1a;软件开发全套资料_数字中台建设指南-CSDN博客

Qt实现TFTP Server和 TFTP Client(四)

3.3 Server Server包括下面3个类&#xff1a; ServerSocketTFtpServerTFtpServerWidget 3.3.1 ServerSocket ServerSocket从BaseUdp派生实现write接口. 3.3.1.1 ServerSocket定义 class QUdpSocket; class ServerSocket : public BaseUdp { public:ServerSocket(QUdpSock…

Java 学习和实践笔记(49):用javabean和一维数组的方式来存储表格数据

还是存储下面这个表格的数据&#xff0c;但使用另一种方法来做。 用javabean和一维数组的方法来做&#xff0c;示例代码如下&#xff1a; /*先创建一个类&#xff0c;其实就是创建好一个只有各属性列的空表格*/ class Employees {private int id;private String name;private …

[2021]Zookeeper getAcl命令未授权访问漏洞概述与解决

今天在漏洞扫描的时候蹦出来一个zookeeper的漏洞问题&#xff0c;即使是非zookeeper的节点&#xff0c;或者是非集群内部节点&#xff0c;也可以通过nc扫描2181端口&#xff0c;获取极多的zk信息。关于漏洞的详细描述参考apache zookeeper官方概述&#xff1a;CVE-2018-8012: A…

Self-Consistency Improves Chain of Thought Reasoning in Language Models阅读笔记

论文链接&#xff1a;https://arxiv.org/pdf/2203.11171.pdf 又到了读论文的时间&#xff0c;内心有点疲惫。这几天还是在看CoT的文章&#xff0c;今天这篇是讲如何利用self-consistency&#xff08;自我一致性&#xff09;来改进大语言模型的思维链推理过程。什么是self-cons…

5.4 物联网RK3399项目开发实录-Android开发之编译 Android10.0 固件(wulianjishu666)

物联网项目开发实例&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/11VQMhHfIL9mZhNlls4wmjw?pwd0gfa 4. 编译 Android10.0 固件 4.1. 下载 Android SDK 由于 SDK 较大&#xff0c;可以去下载页面选择云盘下载 Firefly-RK3399_Android10.0_git_20211222.7z&#x…

Android-Handler详解_原理解析

为了方便阅读将文章分为使用篇和源码解析两篇&#xff0c;上一篇已经写了Handler是什么、有什么、怎们用&#xff0c;这一片从源码的角度分析完整流程&#xff0c;看看Handler消息机制到底是啥原理。才疏学浅&#xff0c;如有错误&#xff0c;欢迎指正&#xff0c;多谢。 完整…

标定系列——预备知识-OpenCV中实现Rodrigues变换的函数(二)

标定系列——预备知识-OpenCV中实现Rodrigues变换的函数&#xff08;二&#xff09; 说明记录 说明 简单介绍罗德里格斯变换以及OpenCV中的实现函数 记录

ClickHouse10-ClickHouse中Kafka表引擎

Kafka表引擎也是一种常见的表引擎&#xff0c;在很多大数据量的场景下&#xff0c;会从源通过Kafka将数据输送到ClickHouse&#xff0c;Kafka作为输送的方式&#xff0c;ClickHouse作为存储引擎与查询引擎&#xff0c;大数据量的数据可以得到快速的、高压缩的存储。 Kafka大家…

Ubuntu 配置 kubernetes 学习环境,让外部访问 dashboard

Ubuntu 配置 kubernetes 学习环境 一、安装 1. minikube 首先下载一下 minikube&#xff0c;这是一个单机版的 k8s&#xff0c;只需要有容器环境就可以轻松启动和学习 k8s。 首先你需要有Docker、QEMU、Hyperkit等其中之一的容器环境&#xff0c;以下使用 docker 进行。 对…

【C++】编码规范之可靠性原则

C编码规范中的可靠性原则是确保代码的可读性、可维护性和稳定性&#xff0c;以下是几个小点及其例子&#xff1a; 避免使用全局变量&#xff1a; 如果需要多个变量在全局范围内使用&#xff0c;可用context&#xff08;结构体/类&#xff09;解决耦合性问题 // 不推荐的写法&…