在公网上使用SSH远程连接安卓手机Termux:将Android手机变身为远程服务器

文章目录

  • 前言
  • 1.安装ssh
  • 2.安装cpolar内网穿透
  • 3.远程ssh连接配置
  • 4.公网远程连接
  • 5.固定远程连接地址

前言

使用安卓机跑东西的时候,屏幕太小,有时候操作不习惯。不过我们可以开启ssh,使用电脑PC端SSH远程连接手机termux。

本次教程主要实现在安卓手机termux上安装SSH,在电脑上通过SSH远程连接Termux。同时在Termux上做内网穿透,用cpolar创建安全隧道映射22端口,实现在外也可以SSH远程连接Termux,无需公网IP,也不用设置路由器 ,这里使用国产内网穿透工具cpolar简单实现。

1.安装ssh

输入命令直接安装openssh,中途会出现一次需要输入:Y 然后继续安装

pkg install openssh

启动ssh,开放端口默认为8022

sshd

查看用户名

whoami

可以看到用户名为u0_a33,这个需记住!!!

image-20230509135411343

修改密码,输入下面命令:,输入后提示输入新密码,按要求输入即可呢。

passwd

image-20230509135850913

2.安装cpolar内网穿透

cpolar它支持http/https/tcp协议,可以永久免费使用不限制流量,无需公网IP,也不用设置路由器。用过一段时间后你会发现,它甚至还可以直接在家中实现小型的云服务。

cpolar官网:https://www.cpolar.com

创建一个sources.list.d的文件夹:

mkdir -p $PREFIX/etc/apt/sources.list.d

添加cpolar下载源文件

echo "deb [trusted=yes] http://termux.cpolar.com termux extras" >> $PREFIX/etc/apt/sources.list.d/cpolar.list

更新仓库

pkg update

安装cpolar

pkg install cpolar

安装termux服务,注意: 安装完成后记得关闭重启一下termux才生效!!

pkg install termux-services

重启完termux后,然后启动cpolar

sv up cpolar

设置开机自启

sv-enable cpolar

这个是停止cpolar 服务

sv down cpolar

cpolar.yml主配置文件路径位置

$PREFIX/etc/cpolar/cpolar.yml

然后在手机浏览器我们输入http://localhost:9200即可看到cpolar管理界面,使用在cpolar官网注册的账号即可登陆

image-20230509155942139

3.远程ssh连接配置

在手机浏览器上登录cpolar管理界面后,我们点击左侧仪表盘的隧道管理——创建隧道。由于ssh连接默认的是22端口,因此我们要来创建一条tcp隧道,指向22端口:

  • 隧道名称:可自定义,注意不要重复
  • 协议:tcp
  • 本地地址:8022 (termux ssh 默认端口)
  • 域名类型:选择随机域名
  • 地区:选择China VIP Top

点击创建

image-20230509163326388

创建好后打开在线隧道列表,查看生成的随机公网tcp地址,然后复制公网地址,注意tcp://无需复制

image-20230509163540826

4.公网远程连接

打开连接工具,输入cpolar生成的公网地址,tcp://不需要输入,端口号是公网地址后面的端口号,点击连接

image-20230509163906448

然后出现输入用户名和密码,我们输入上面我们看到的用户名u0_a33(每个人不一样,实际与您自己的为准)

image-20230509164341555

然后输入密码

image-20230509164302049

连接成功,远程连接termux就设置好啦!

image-20230509164421309

5.固定远程连接地址

上面通过cpolar建立的免费临时TCP数据隧道,成功通过ssh连接上了termux系统,不过,此时的TCP数据隧道还是随机临时TCP隧道,每个24小时端口号就会发生变化。如果想要让这个公网地址长期稳定存在,我们还需要进一步的设置(由于固定TCP隧道会长期占用cpolar服务器资源,因此不得不将此服务列入VIP项目中)。现在,就让我们来设置一条能长期稳定存在的TCP数据隧道吧。

要建立一条稳定的TCP数据隧道,我们首先要登录cpolar官网,进入仪表台的预留界面

20230517093303

在预留界面中,找到保留的TCP地址项目。在这个项目下,我们填入一些必要信息,包括识别数据隧道的隧道名称、隧道使用区域等。

image-20230509165956924

在这些信息填入后,点击右侧的保留按钮,将cpolar官网后台的隧道固定下来,此时cpolar会生成一个隧道tcp端口

image-20230509170226731

接着我们回到浏览器cpolar界面,打开隧道列表,找到之前创建的随机临时TCP隧道,进入编辑页面,

image-20230509170321276

  • 端口类型选择固定TCP端口
  • 预留的TCP地址填写我们刚刚在cpolar官网后台保留成功的固定TCP地址

然后点击下方的更新按钮。

image-20230509170420115

然后再次查看在线隧道列表,发现ssh的隧道对应的公网地址变成了我们官网保留的固定地址

image-20230509170500482

打开连接工具,输入固定的公网地址,tcp://不需要输入,端口号是公网地址后面的端口号,然后点击连接

image-20230509170812337

也可以成功连接,这样一个永久固定的ssh远程termux的tcp连接方式就设置好了!!

我们只需要保持隧道正常在线,在外就可以通过这个固定公网地址SSH远程连接控制termux,不需要公网IP,也不用设置路由器。

image-20230509171243126

转载自cpolar极点云的文章:公网SSH远程连接Termux – 电脑使用安卓Termux 「无需公网IP」

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

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

相关文章

猫头虎博主赠书二期:《Go黑帽子 渗透测试编程之道(安全技术经典译丛) 》

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

算法通关村第11关【白银】| 位运算高频算法题

一、移位的妙用 1.位1的个数 思路: 利用一个数和1与操作,结果就是最低位的特点,每次右移都能知道一位是不是1 public class Solution {// you need to treat n as an unsigned valuepublic int hammingWeight(int n) {int count 0;for(in…

【spark】java类在spark中的传递,scala object在spark中的传递

记录一个比较典型的问题,先讲一下背景,有这么一个用java写的类 public class JavaClass0 implements Serializable {private static String name;public static JavaClass0 getName(String str) {if (name null) {namestr;}return name;}... }然后在sp…

Oracle数据库尚硅谷学习笔记

文章目录 Oracle数据库体系结构简介补充SQL初步导入sql文件别名连接符distinct去重的坑 过滤和排序数据日期格式比较运算其它比较运算符逻辑运算优先级排序 单行函数SQL中不同类型的函数单行函数字符数值日期转换通用 使用条件表达式嵌套查询 多表查询等值连接非等值连接左外连…

解决微信小程序recycle-view使用百分比单位控制宽高时出现的内容溢出问题

recycle-view是微信小程序官方推出的一个经过优化的长列表组件,但是在使用百分比单位控制高宽时有个内容溢出问题,虽然它提供了height和width的参数可以设置宽高,但每次写列表都需要去js里获取宽高并设置是较为麻烦的,所以现在来着…

ES是一个分布式全文检索框架,隐藏了复杂的处理机制,核心数据分片机制、集群发现、分片负载均衡请求路由

ES是一个分布式框架,隐藏了复杂的处理机制,核心数据分片机制、集群发现、分片负载均衡请求路由。 ES的高可用架构,总体如下图: 说明:本文会以pdf格式持续更新,更多最新尼恩3高pdf笔记,请从下面…

Qt/C++音视频开发49-推流到各种流媒体服务程序

一、前言 最近将推流程序完善了很多功能,尤其是增加了对多种流媒体服务程序的支持,目前支持mediamtx、LiveQing、EasyDarwin、nginx-rtmp、ZLMediaKit、srs、ABLMediaServer等,其中经过大量的对比测试,个人比较建议使用mediamtx和…

实现振动信号依据信噪比(SNR)添加噪声

1. 程序解读 首先,加载相关Python包import numpy as np import matplotlib.pyplot as plt 1. 基于SNR值生成指定程度的加噪信号; 2. 信号是自动生成的; 生成待测试的信号# Generate or load the vibrational signal (vibration_signal) and define its parameters # For dem…

QT DAY6

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);socket new QTcpSocket(this);//如果连接服务器成功,该客户端就会发射一个connected的信号。//我们…

MyBatis关系映射

文章目录 前言一、一对一映射1.1 创建实体1.2 xml配置 二、一对多映射2.1 创建实体2.2 resultMap配置2.3 测试 三、 多对多映射3.1 创建实体3.2 resultMap配置3.3 测试 前言 MyBatis是一个Java持久化框架,它提供了一种将数据库表和Java对象之间进行关系映射的方式。…

css画箭头图标放标题前面,旋转,border的单个边框设置

CSS边框属性_css border dotted_小张biubiu的博客-CSDN博客 你还不知道css的旋转效果怎么实现?来这里看看吧_css旋转效果_我糖呢的博客-CSDN博客 .sub-title{position: relative;margin-left: 59px;& span{color: #1CDBFE;};& span::before{content: "…

算法通关村十四关:青铜-堆结构

青铜挑战-堆结构 堆结构:重要的基础数据结构 明确什么类型的题目可以用堆,以及如何用堆来解决 堆的构造和维护过程都非常复杂 1.堆的概念与特征 1.1基本概念 堆:是将一组数据按照 完全二叉树 的存储顺序,将数据存储在一个一…

深入浅出玩转FPGA——笔记8 漫谈状态机设计

1 状态机的基本概念 硬件的并行性决定了用不同verilog描述的硬件实现(比如不同的always语句)都是并行执行的,那么如果希望分多个时间完成一个任务,怎么办? 方法1 可以用多个使能信号赖衔接多个不同的模块,…

S32K324芯片学习笔记

文章目录 Core and architectureDMASystem and power managementMemory and memory interfacesClocksSecurity and integrity安全与完整性Safety ISO26262Analog、Timers功能框图内存mapflash Signal MultiplexingPort和MSCR寄存器的mapping Core and architecture 两个Arm Co…

centOS下载与安装

1 下载centOS镜像 The CentOS Project 选择阿里云的镜像 2 下载虚拟机 Vmware workstation VMware - Delivering a Digital Foundation For Businesses 1 下载安装 centOs是一个操作系统,操作硬件的。所以需要有机器,可以使用虚拟机。 2 创建新的虚…

React的jsx的用法

React是一个流行的JavaScript库,用于构建用户界面。它使用一种名为JSX的语法扩展来描述组件的结构和样式。JSX是React的核心语言之一,它允许开发人员在JavaScript中编写HTML,从而使代码更加简洁和易于阅读。 JSX是一种语法扩展,它…

深入理解联邦学习——联邦学习的分类:基础知识

分类目录:《深入理解联邦学习》总目录 在实际中,孤岛数据具有不同分布特点,根据这些特点,我们可以提出相对应的联邦学习方案。下面,我们将以孤岛数据的分布特点为依据对联邦学习进行分类。 考虑有多个数据拥有方&…

Go学习[合集]

文章目录 Go学习-Day1Go学习-Day2标识符变量基础语法字符串类型类型转换string和其他基本类型转换其他类型转stringstring转其他类型 指针类型运算符标准IO分支语句 Go学习-Day3循环语句函数声明init函数匿名函数闭包defer Go学习-Day4函数值传递,引用传递常用的函数…

Kotlin的遍历方法

for循环 在下面代码中1…10表示的是1到10,两边都是闭包,输出12345678910 for (i in 1..10) println(i)加上花括号也支持 for (i: Int in 1..10) {println(i)}另外,当对整数进行for循环时,Kotlin还提供了一个step函数来定义迭代的…

利用python制作AI图片优化工具

将模糊图片4K高清化效果如下: 优化前的图片 优化后如下图: 优化后图片变大变清晰了效果很明显 软件界面如下: 所用工具和代码: 1、所需软件包 网盘链接:https://pan.baidu.com/s/1CMvn4Y7edDTR4COfu4FviA提取码&…