Android 终端模拟器 termux app

Android 终端模拟器 Termux

    • [1 Termux App](#1 Termux App)
    • [2 配置ssh连接](#2 配置ssh连接)
      • [2.1 ssh 服务](#2.1 ssh 服务)
      • [2.2 ssh 客户端](#2.2 ssh 客户端)
    • [3 关闭sshd服务](#3 关闭sshd服务)

1 Termux App

📌 Termux 是一款 Android 终端模拟器Linux 环境 应用,可直接运行,无需 root 权限或设置

!note\] termux-app 1. 2. 3. [Termux 软件仓库](https://mirrors.tuna.tsinghua.edu.cn/help/termux/)

  1. 启用存储访问权限

    shell 复制代码
    # 弹出Android运行时权限,选择 允许, 这时可以访问得到 storage
    termux-setup-storage
  2. 更换源

    shell 复制代码
    # 按照初始进入提示, 使用GUI操作
    termux-change-repo
    • 用↓选择 Single mirror, 然后 空格 选中,再OK确认

    • 然后在用↓选择国内的镜像,比如清华的,阿里的

  3. 升级

    shell 复制代码
    pkg update && pkg upgrade
  4. 安装所需软件,根据自己的需要

    shell 复制代码
    # pkg install git
    pkg install git openssh
    # pkg install python nodejs clang git vim openssh

2 配置ssh连接

2.1 ssh 服务

shell 复制代码
pkg install openssh nmap

# 2. 设置密码, 输入密码并确认
passwd

# 3. 查看本机ip, 连接的WiFi, 找到 wlan0,比如我这里IP为:192.168.26.27
ifconfig

# 4. 用户,比如本次输出:u0_a433 将作为ssh连接时的用户名
whoami

# 5. 启动ssh服务, 默认端口 8022
sshd
# 或者指定端口
sshd -p 8022

# 6. 在Termux中启动SSH服务后,每次打开应用它会自动启动. 可关闭
pkill sshd

🗺️ 验证sshd 的启动

shell 复制代码
# 1. 手机termux中验证ssh服务启动,不要真正链接,根据输出要你确认连接的信息判断是否已启动
# ssh localhost -p 8022
#
# 1. 检测目标主机是否在线、端口开放情况、运行的服务
# nmap 192.168.26.27

🐢 Adb 环境查看 sshd 进程是否启动

shell 复制代码
adb shell ps | findstr ssh

# 会看到下面的打印,表示已启动
# u0_a433      15533     1   10871804   3160 0                   0 S sshd

✔ 使用密码连接:

  1. 终端

    shell 复制代码
    # 1. 终端连接,然后会验证前面设置的 密码
    ssh u0_a433@192.168.26.27 -p 8022
  2. ssh客户端

2.2 ssh 客户端

  1. windows 终端

    shell 复制代码
    # 在 D:\Home\.ssh 目录下生成 termux_app_ed25519 密钥对
    ssh-keygen -t ed25519 -f D:\Home\.ssh\termux_app_ed25519 -C "xx@gmail.com"
    
    #把公钥
    adb push D:\Home\.ssh\termux_app_ed25519.pub /sdcard/document
    • ssh-keygen 未使用 -f 指定路径,则默认在 C:\Users\用户名\.ssh
  2. 先试用ssh客户端或者终端命令行基于密码登录

    shell 复制代码
    # 1. 建立一个软连接 docs , 指向 /storage/emulated/0/document
    ln -s  /storage/emulated/0/document docs
    
    # 使用软连接跳转到adb push的目录,就是刚才的document
    cd ./docs
    
    # 2. 把公钥写入 authorized_keys
    cat termux_app_ed25519.pub >> ~/.ssh/authorized_keys
    • ln -s <path> <link_name> : 创建一个指向path的软连接link_name
  3. windows 配置

    📍 C:\Users\用户名\.ssh 下的 文件(没有则创建)config 配置私钥路径

    shell 复制代码
    # termux
    Host 192.168.26.27
    HostName 192.168.26.27
    Port 8022
    PreferredAuthentications publickey
    IdentityFile D:/Home/.ssh/termux_app_ed25519

✔ 使用密钥连接

  1. 终端

    shell 复制代码
    # 不用输密码,直接输入 yes 继续就会进入
    ssh u0_a433@192.168.26.27 -p 8022
  2. ssh客户端配置

3 关闭sshd服务

📌 在Termux中启动SSH服务 后,每次打开应用它会自动启动。要关闭SSH服务 ,可通过 pkill sshd

🐢 验证 sshd 是否关闭

shell 复制代码
pkill sshd

# 如果状态为closed,则已成功关闭
nmap localhost -p 端口
相关推荐
你过来啊你2 小时前
Android用户鉴权实现方案深度分析
android·鉴权
kerli5 小时前
Android 嵌套滑动设计思想
android·客户端
恣艺6 小时前
LeetCode 854:相似度为 K 的字符串
android·算法·leetcode
阿华的代码王国6 小时前
【Android】相对布局应用-登录界面
android·xml·java
用户207038619497 小时前
StateFlow与SharedFlow如何取舍?
android
QmDeve7 小时前
原生Android Java调用系统指纹识别方法
android
淹没7 小时前
🚀 告别复杂的HTTP模拟!HttpHook让Dart应用测试变得超简单
android·flutter·dart
HX4368 小时前
MP - List (not just list)
android·ios·全栈