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. https://github.com/termux/termux-app
  2. https://termux.dev/cn/index.html
  3. 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 端口
相关推荐
一笑的小酒馆6 小时前
Android中WebRTC通信
android
KevinWang_9 小时前
Android Hilt 依赖注入
android
古法安卓9 小时前
Android-深入理解 Android 回调(Callback)机制
android·性能优化·android studio
古法安卓9 小时前
Android-车机 GNSS 定位数据接收问题排查
android·java·android studio
FungLeo12 小时前
Flutter 吸顶分组列表实战:语义桶分组 + 点击头平滑滚动
android·flutter
阿巴斯甜12 小时前
Android 自定义权限
android
FungLeo13 小时前
Flutter 超长 StatefulWidget 拆分术:part of + extension on State 实战
android·flutter·dart
小王C语言14 小时前
MySQL 数据类型:数值类型、字符串类型、日期和时间类型、enum 和 set、find_in_set 查询
android·数据库·mysql
我命由我1234514 小时前
Android 控件 - CardView(快速实现圆角)
android·java·java-ee·kotlin·android studio·android-studio·android runtime
码云数智-园园14 小时前
Android 全方位性能优化合集
android·性能优化