开源IPad Pro应用IDE:使用SSH远程连接服务器进行云端编程开发

news2024/11/26 6:01:14

在这里插入图片描述
🔥博客主页 小羊失眠啦.
🎥系列专栏《C语言》 《数据结构》 《Linux》《Cpolar》
❤️感谢大家点赞👍收藏⭐评论✍️


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

文章目录

    • 前言
    • 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如何下载安装,并通过cpolar内网穿透工具实现SSH远程连接服务器进行云端编程开发,有效节省工作时间并提高开发效率。

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

话不多说,接下来给就大家安利这款开源的 iPad 应用,可以称得上是目前 iPad 上最强的 IDE:「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.coloradmin.cn/o/1311725.html

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

相关文章

IDEA中Terminal配置为bash

简介 我们日常命令行都是使用Linux的bash指令,但是我们的开发基本都是基于Windows上的IDEA进行开发的,对此我们可以通过将IDEA将终端Terminal改为git bash自带的bash.exe解决问题。 配置步骤 安装GIT 这步无需多说了,读者可自行到官网下载…

PyTorch 的 10 条内部用法

欢迎阅读这份有关 PyTorch 原理的简明指南[1]。无论您是初学者还是有一定经验,了解这些原则都可以让您的旅程更加顺利。让我们开始吧! 1. 张量:构建模块 PyTorch 中的张量是多维数组。它们与 NumPy 的 ndarray 类似,但可以在 GPU …

【方法】如何给PDF文件添加“限制密码”?

PDF是很多人工作中经常用到的电子文档格式,它可以保留原始文档的所有格式和布局,也不容易修改,想要编辑修改PDF文件需要用到编辑器。 但如果给PDF文件添加“限制密码”,就可以保护文件不被随意修改,即使使用编辑器也需…

基于PCIe的NVMe学习

一:基本概念 1.UltraScale:是Xilinx ZYNQ 系列产品 2.spec:大家现在别纠结于具体的命令,了解一下就好。老板交代干活的时候,再找spec一个一个看吧————猜测估计是命令表之类的。 3.TLP报文部分: 二&…

STM32--中断使用(超详细!)

写在前面:前面的学习中,我们接触了STM32的第一个外设GPIO,这也是最常用的一个外设;而除了GPIO外,中断也是一个十分重要且常用的外设;只有掌握了中断,再处理程序时才能掌握好解决实际问题的逻辑思…

云上丝绸之路| 云轴科技ZStack成功实践精选(西北)

古有“丝绸之路” 今有丝绸之路经济带 丝路焕发新生,数智助力经济 云轴科技ZStack用“云”护航千行百业 沿丝绸之路,领略西北数字化。 古丝绸之路起点-陕西 集历史与现代交融,不仅拥有悠久的历史文化积淀,而且现代化、数字化发…

论文润色降重哪个平台好 papergpt

大家好,今天来聊聊论文润色降重哪个平台好,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧: 标题:论文润色降重哪个平台好――专业、高效、可靠的学术支持 一、引言 在学术研究中&…

SQLE 3.0 部署实践

来自 1024 活动的投稿系列 第一篇《SQLE 3.0 部署实践》 . 作者:张昇,河北东软软件有限公司高级软件工程师,腾讯云社区作者。 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 本文共 32…

机器学习--归一化处理

归一化 归一化的目的 归一化的一个目的是,使得梯度下降在不同维度 θ \theta θ 参数(不同数量级)上,可以步调一致协同的进行梯度下降。这就好比社会主义,一小部分人先富裕起来了,先富带后富&#xff0c…

XUbuntu22.04之npm解决pm WARN deprecated(一百九十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

基于vue实现的疫情数据可视化分析及预测系统-计算机毕业设计推荐django

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

Kafka-Kafka基本原理与集群快速搭建

一、Kafka介绍 ​ ChatGPT对于Apache Kafka的介绍: Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发并于2011年开源。它主要用于解决大规模数据的实时流式处理和数据管道问题。 Kafka是一个分布式的发布-订阅消息系统,可以快速地处理…

从计算机底层深入Golang高并发

从计算机底层深入Golang高并发 1.源码流程架构图 2.源码解读 runtime/proc.go下的newpro() func newproc(fn *funcval) {//计算额外参数的地址argpgp : getg()pc : getcallerpc()//s1使用systemstack调用newproc1 systemstack(func() {newg : newproc1(fn, gp, pc)_p_ : getg…

经典文献阅读之--SST-Calib(激光雷达与相机的同步时空参数标定法)

0. 简介 借助多种输入模态的信息,基于传感器融合的算法通常优于单模态。具有互补语义和深度信息的相机和激光雷达是复杂驾驶环境中的典型传感器配置。然而,对于大多数相机和激光雷达融合的算法,传感器的标定将极大地影响性能。具体来说&…

RabbitMq的详细使用

消息队列RabbitMQ详细使用 文章目录 消息队列RabbitMQ详细使用MQ 的相关概念什么是MQ为什么要用MQMQ 的分类MQ 的选择 RabbitMQRabbitMQ 的概念四大核心概念各个名词介绍安装RabbitMQWeb管理界面及授权操作Docker 安装Hello world简单示例 Work Queues轮训分发消息消息应答自动…

JWT令牌的作用和生成

JWT令牌(JSON Web Token)是一种用于身份验证和授权的安全令牌。它由三部分组成:头部、载荷和签名。 JWT令牌的作用如下: 身份验证:JWT令牌可以验证用户身份。当用户登录后,服务器会生成一个JWT令牌并返回…

Turtle绘制菱形-第11届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第16讲。 Turtle绘制菱形&a…

bugku--- 比赛真题1-3

第一题 查看源代码直接就有 第二题 万能密码直接填 第三题

Vue2.x源码:new Vue()做了啥

例子1new Vue做了啥?new Vue做了啥,源码解析 initMixin函数 初始化 – 初始化Vue实例的配置initLifecycle函数 – 初始化生命周期钩子函数initEvents – 初始化事件系统初始化渲染 initRender初始化inject选项 例子1 <div id"app"><div class"home&…

JVM之堆学习

一、Java虚拟机内存结构图 二、堆的介绍 1. 前面学习的程序计数器&#xff0c;虚拟机栈和本地方法栈都是线程私有的&#xff0c;堆是线程共享的&#xff1b; 2. 通过 new 关键字&#xff0c;创建的对象都会使用堆内存&#xff0c;其特点是&#xff1a; 它是线程共享的&#x…