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 端口
相关推荐
2501_915918415 小时前
掌握 iOS 26 App 运行状况,多工具协作下的监控策略
android·ios·小程序·https·uni-app·iphone·webview
2501_915909068 小时前
iOS 混淆实战,多工具组合完成 IPA 混淆与加固(源码 + 成品 + 运维一体化方案)
android·运维·ios·小程序·uni-app·iphone·webview
*才华有限公司*10 小时前
安卓前后端连接教程
android
氦客10 小时前
Android Compose中的附带效应
android·compose·effect·jetpack·composable·附带效应·side effect
雨白11 小时前
Kotlin 协程的灵魂:结构化并发详解
android·kotlin
我命由我1234511 小时前
Android 开发问题:getLeft、getRight、getTop、getBottom 方法返回的值都为 0
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
Modu_MrLiu11 小时前
Android实战进阶 - 用户闲置超时自动退出登录功能详解
android·超时保护·实战进阶·长时间未操作超时保护·闲置超时
Jeled11 小时前
Android 网络层最佳实践:Retrofit + OkHttp 封装与实战
android·okhttp·kotlin·android studio·retrofit
信田君952711 小时前
瑞莎星瑞(Radxa Orion O6) 基于 Android OS 使用 NPU的图片模糊查找APP 开发
android·人工智能·深度学习·神经网络