对 Termux 折腾的一点记录。
前言
什么是Termux
Termux 的 官方网站 上已经介绍的很详细了。
Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automatically – additional packages are available using the APT package manager.
Termux是一款强大的安卓终端模拟APP,无需root直接启动,自动安装最小化linux系统,使用APT作为包管理工具并提供各种各样的软件包。
安装
配置要求
对手机的配置没啥特殊要求,5.0及更高版本,还有为了操作方便最好有 root 权限,为什么待会儿再说,手机的存储容量一定要充足,因为随便一个安装包就是几十兆。
下载地址
其他工具
由于操作比较反人类,为了使用更方便最好再装一些其他工具。
上手
目录分析
打开 app 就是黑底白字的命令行,默认以 /data/data/con.termux/files/home 作为家目录,对安卓文件系统有点了解的同学都知道 /data/data/ 存放的是所有APP自身的数据, /data/data/con.termux/

这张图是我用电脑上的 xshell 连接的效果,具体连接方式下文会讲,这里只是简单列出目录结构。
进入 RE管理器 查看到的文件目录,可以看到 /data/data/com.termux/files/usr 路径很像是Termux 创建的根文件系统,每个目录的功能和普通 linux 下类似,详见 鸟窝 。
知道这一点就可以知道修改配置文件的几种方法:
- 在命令行操作使用vi编辑器
- 使用RE管理器直接修改
个人觉得第两种方法要方便一些,尤其是后来的ssh密钥操作,接下来以第二种文件修改方式为主。
改源
不管是不是 linux ,只要涉及到网络服务改源便是家常便饭
编辑 /data/data/com.termux/files/usr/etc/apt/sources.list 文件,修改 apt 源为清华大学开源镜像
# The main termux repository:
#deb [arch=all,arm] http://termux.net stable main
deb [arch=all,arm] http://mirror.tuna.tsinghua.edu.cn/termux stable main
修改的两种方式


更多信息可以看看清华大学 Termux 镜像 使用帮助
apt update
更新软件源信息
SSH增强
原生的 Termux 即使搭配黑客键盘也显得操作很不方便,于是想开启 sshd 服务来远程控制 Termux 。下面以手机上的 juicessh 和电脑上的 xshell 为例
apt install openssl
安装完成后 /data/data/com.termux/files/usr/bin 目录下会多几个有关 ssh 的可执行文件。接下来开启 sshd 服务。
sshd
查看 sshd 使用的端口,我这里是 8022
netstat -ntlp

查看当前登录终端的用户名 找不到命令就按提示信息装,缺什么装什么 我这里是 u0_a8
whoami
由于一直未找到 ssh 密码相关的命令设置,例如 passwd 相关的命令,只能使用 ssh 免密码登录,涉及到 ssh 密钥
ssh-keygen
接下来的问题一律回车默认,你会看到 /data/data/com.termux/files/home/.ssh 多出两个文件 id_rsa.pub 和 id_rsa ,分别是公钥和私钥,将公钥导入到信任主机列表
cd /data/data/com.termux/files/home/.ssh
cat id_rsa.pub >> authorized_keys
进入 JuiceSSH 的认证,用户名填写刚才的用户名,私钥复制粘贴 id_rsa 的内容,建议使用RE管理器 操作。



xshell
xshell设置也是类似,不过xshell可以直接生成密钥对,生成过后只需把公钥添加到 authorized_keys



今天就写到这里吧,连上了 ssh 一切都方便了,接下来折腾搭建web服务,内网穿透,交叉编译…