远程手机搭建Termux环境,并通过ssh连接Termux

背景

  • Termux只能通过鼠标点击,无法使用电脑键盘,输入速度很慢,你想通过ssh 连接Termux,获得友好体验
  • 搞了个云手机,想像普通手机那样充当服务器
  • 想把自己的手机公开到局域网中供同事调试
  • 想把自己的模拟器公开到局域网中供同事调试

step 1 搞一台云手机

先搞到一台云手机(也就是在线云机,远程云手机,云测手机),这些云手机通常都是跑在服务端的模拟器(也有真机)

step2 配置Termux

  • 进入云机,安装Termux
  • 打开Termux 安装sshd,命令pkg install openssh
  • 生成ssh密钥,命令 ssh-keygen -A
  • 执行whoami
  • 设置登录密码,命令 passwd,按提示输入
  • 启动sshd服务,命令 sshd

至此,你的Termux控制台应该已经成功的启动了sshd服务,它运行的默认端口是:8022,不是通常的22端口

step 3 怎么连接到云机内网的Termux开启的ssh服务

完成setp2后,你会突然发现一个问题,这些云手机通常都不具备公网ip,她们位于服务器电脑的虚拟机中,所以,你无法直接通过公网连接到Termux。

怎么办?

关键点在于,既然我们能访问到处于内网的云机,所以,它必定和出网口机器存在通信。

这个通信方式通常是类似这样的实现:

  • 云机模拟器所有网络请求走到服务器电脑上,服务器电脑代为发送
  • 服务器电脑收到的所有网络请求,属于模拟器的,进行转发

这种技术,通常有端口转发、虚拟网卡等。

这时候,咦!你发现了哗点

  • 那我去服务器电脑上,设置端口转发到云机模拟器系统的Termux 的ssh服务不就好了?

  • 是的,你可以这么做,包括个人电脑上的模拟器,你也可以这么进行操作,从而开放到局域网、公网上,使大家都可以访问到!

  • 然后你发现,你登录不到服务器对应的电脑(通常云机服务商,不会直接提供服务器登录),所以你颓然了。

但其实,获取还有一个办法

那就是adb调试

step 4 Adb的妙用

adb 是一个安卓开发工具,是安卓调试桥的缩写。它实现了一个通信协议(socket实现),能够连接到手机中,进行apk安装,发送系统广播,执行命令等,许多投屏软件如scrcpy、乃至云手机厂商等就是通过这个方式来投屏或传输信息以及前后台通信……

等等,执行命令,你突然一个鸡灵!如果,如果,能够连接adb,那这不就是任意命令执行权限了吗?而且云机通常开启了root,这……

是的,没错,具备adb连接方法的云手机,就是这么狂,就是这么猛,可以执行任意命令。

所以,你可以通过adb命令执行端口转发,将个人本机电脑的某个端口和云手机模拟器系统的8022端口关联起来,不需要登录到服务器电脑进行操作,adb帮你操作了。

step 5 如何获取adb调试地址

如果你是远程云机:

  • 连接进入云手机。获取到云机的adb远程调试地址(部分云测厂商提供)
  • 未提供的尝试抓包,看是否存在一个一直在交换数据的socket连接,然后获取到连接地址

如果你是本地真机:

  • usb连接电脑,开启开发者调试模式
  • adb devices

step6 ADB转发本机电脑端口上的网络请求到云手机内网端口8022

你得到了一个adb公网连接地址,如18.23.22.37:3200

  • adb 连接云机,命令:adb connect 18.23.22.37:3200
  • adb 转发本机端口8021到云机端口8022,adb -s 18.23.22.37:3200 forword tcp:8021 tcp:8022,如果你只连接了一个设备,可以省略-s 18.23.22.37:3200 ,否则不能忽略,因为adb不知道你要对那个设备进行操作
  • 打开你的ssh连接工具,你可以登录到Termux了

连接地址:127.0.0.1(因为转发到自己的电脑上了)
端口:8021 (执行命令时设置的转发端口,不一定是8022)
用户:去Termux上执行命令获取:whoami

使用命令行登录:ssh -X 用户@127.0.0.1:8021

大功告成,贴图
在这里插入图片描述

step7 狗尾续貂

远程云机都成功公开出去了,真机、模拟器还不简单?

对于模拟器:

  • 一般市面上的模拟器启动的时候,会自行占用一个端口,将本机电脑某个端口转发到模拟器端口
  • 电脑开启防火墙

也有的模拟器不需要转发,它已经开启了wifi调式。
判断标准是,adb device,带有ip地址的一般可以直接连接了。
不带ip地址的,需要寻找其端口。如android官方的模拟器,一般叫做emulator-5554,那么其端口就是5555,电脑转发127.0.0.1:xxx端口到这个端口就行

对于真机:

  • 打开调式模式连接到电脑
  • 同样adb设置转发到真机
  • 电脑开启防火墙,让外部请求进入电脑,局域网or公网的兄弟就能访问到你的手机了

当然,也可以不进行转发,因为通过wifi调式,真机在局域网内也是可以通信的:
adb -s 设备id tcpip 6666

其他人电脑上执行:
adb connect 手机pi:6666

然后其他兄弟就可以连接到你手机上进行apk调式,安装termux,最后ssh连接了

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

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

相关文章

【MySQL】——数据定义

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

【考研408】操作系统笔记

文章目录 [toc] 计算机系统概述操作系统的基本概念操作系统的概念和特征操作系统的目标和功能(**处理器管理、存储器管理、设备管理、文件管理、向用户提供接口、扩充机器**) 操作系统的发展与分类操作系统的运行环境操作系统的运行机制 操作系统的体系结…

从MySQL到TiDB:兼容性全解析

MySQL 在高并发和大数据量场景下,单个实例的扩展性有限。而 TiDB 作为一款分布式NewSQL数据库,设计之初就支持水平扩展(Scale-Out),通过增加节点来线性提升处理能力和存储容量,能够很好地应对大规模数据和高…

C系列-柔性数组

🌈个人主页: 会编程的果子君 ​💫个人格言:“成为自己未来的主人~” 目录 ​编辑 柔性数组 柔性数组的特点 柔性数组的使用 柔性数组的优势 柔性数组 也许你从来没有听说过柔性数组这个概念,但是它确实是存在的,C99中&#…

大带宽服务器托管的特点和考虑因素

很多公司和企业对于使用大带宽服务器的需求和存储不一样,为了满足不同的用户需求,大带宽服务器托管是个不错的选择,小编为您整理发布大带宽服务器托管的特点和要考虑的因素。 大带宽服务器托管是一种服务器托管服务,其主要特点是…

DS:经典算法OJ题(2)

创作不易,友友们给个三连吧!! 一、旋转数组(力扣) 经典算法OJ题:旋转数组 思路1:每次挪动1位,右旋k次 时间复杂度:o(N^2) 右旋最好情况:k是n的倍数…

2017年苏州大学837复试机试C/C++

2017年苏州大学复试机试 要求 要求用C/C编程;对程序中必要的地方进行注释。上机规则 请在电脑桌面上新建一个文件夹文件夹名为考试姓名(中文);考试完毕后,将所编写的文件放在上述文件中。 第一题(20分&…

Linux 多线程 | 线程的概念

线程的概念 线程是一个执行分支,执行粒度比进程更细,调度成本更低; 线程是进程内部的一个执行流; 线程是CPU调度的基本单位,进程是承担分配系统资源的基本实体。 之前我们学习过虚拟地址空间的知识,知道…

倾斜摄影轻量化,这样才规范!

自然资源部发布了《倾斜数字摄影测量技术规程》等17项行业标准报批稿公示,其中高频出现的倾斜摄影技术,重回大众视野。 倾斜摄影技术是国际测绘领域近些年发展起来的一项高新技术,它颠覆了以往正射影像只能从垂直角度拍摄的局限,通…

69.请描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程?

69.请描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程? 核心架构的具体流程步骤如下: 首先用户发送请求——>DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行…

Windows内存管理 - 虚拟内存地址概念(Virtual Memory Address)

虽然可以寻址4GB的内存,而在PC里往往没有如此多的真实物理内存。操作系统和硬件(这里指的是CPU中的内存管理单元MMU)为使用者提供了虚拟内存的概念。Windows的所有程序(包括Ring0层和Ring3层的程序)可以操作的都是虚拟…

React实例之完善布局菜单(一)

今天我们来用所学的知识来做一个布局菜单的组件, 针对这个组件我之前写过一个教程 React之布局菜单-CSDN博客,那个呢比较基础,这节课算是对那个教程的一个扩展和补充。这个实例讲完,这个系列就算告一段落了。先看效果 这个教程要求对React知识…