一个计算机技术爱好者与学习者

0%

Android终端Termux

1. termux简介

termux是个非常强大的终端模拟器,能够在android上模拟linux终端。
接下来,郝同学就在自己的Honor9上尝试一下termux。

2. 安装termux

2.1. 从google play安装(已废弃)

1、安装google play
2、google play中搜索“termux”
3、下载安装termux

2.2. 从github安装

1、访问termux-app/releases
2、选择apk安装包,这里选择 github-debug_x86_64.apk 版本
3、下载安装即可

3. 安装ssh

运维从访问远程服务器开始,这怎么离得开ssh命令。Termux不自带ssh命令,需先安装才能使用。

1、安装openssh
apt install openssh

安装的openssh包括客户端ssh和服务端sshd,也就是说我们既可以使用ssh访问远程设备,也可以在本机上开启ssh服务以方便其他设备远程访问本机。默认情况下,安装openssh不开启服务端。

2、开启sshd服务端
正常启动:sshd
调试模式启动:sshd -d

3、关闭sshd服务端
pkill sshd或者killall sshd

4、使用ssh
termux终端中使用ssh访问远程服务器,与linux终端中使用ssh别无二致。
但要使用ssh访问android设备就不同了,termux终端中sshd服务不支持密码验证,也就是说用户不能期望通过ssh user@server然后输入用户密码的方式从别的终端访问android设备。Termux终端中sshd只支持密钥验证。

5、保持sshd运行
下拉手机顶部状态栏,看到termux,点击“ACQUIRE WAKELOCK”,即可看到1 session(wake lock help)。此时,termux就可以保持后台运行,sshd也不会关闭。

4. 配置远程连接

假设我们有一台linux服务器,ip是192.168.1.25;termux终端的ip地址为192.168.1.58。

1、在termux中生成ssh-key
ssh-keygen

命令完成后,在~/.ssh目录中就生成了id_rsa.pub和id_rsa两个文件。

2、创建authorized_keys
touch ~/.ssh/authorized_keys

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3、更改权限
chmod 700 ~/.ssh,切记,是700而不是777。

chmod 600 ~/.ssh/authorized_keys

4、termux测试连接
ssh localhost -p 8022,或者 ssh localhost -p 8022 -i ~/.ssh/id_rsa

郝同学在这里出现错误提示:

1
Permission denied (publickey,keyboard-interactive).

5、termux拷贝密钥到linux,命名为id_rsa_honor
scp ~/.ssh/id_rsa root@192.168.1.25:~/.ssh/id_rsa_honor

6、linux端测试连接
ssh 192.168.1.58 -p 8022 -i ~/.ssh/id_rsa_honor

同样出现错误提示:

1
Permission denied (publickey,keyboard-interactive).

如果第4步和第6步出现错误,那么,关闭ssh服务端后,以调试模式启动。

1
2
killall sshd
sshd -d

然后,在linux端输入ssh 192.168.1.58 -p 8022 -i ~/.ssh/id_rsa_honor

这时就能在termux控制台看到错误的提示信息。郝同学的错误在于给了.ssh文件夹777权限,修改成700,问题解决。

5. windows端远程连接

使用xftp登录linux,拷贝id_rsa_honor到windows的~/.ssh文件夹中,比如C:\Users\voidking\.ssh

连接方式一:
右键打开git命令窗口,ssh 192.168.1.58 -p 8022 -i ~/.ssh/id_rsa_honor,连接成功。

连接方式二:
使用xshell,新建连接,主机填入192.168.1.58,端口填入8022。
用户身份验证中,方法选择Public Key,用户密钥浏览导入id_rsa_honor,其他不填。

点击连接后,提示输入登录的用户名,不用填写,直接确定,连接成功。

6. 挂载手机存储

打开termux终端,默认路径为 /data/data/com.termux/files/home ,但是这个路径并不是安卓系统的真实路径。
直接cd到根目录,也没有权限查看文件。如果想要访问安卓系统中的文件,必须先对安卓系统的磁盘进行挂载。

挂载方法为执行命令 termux-setup-storage ,执行之后会提示授权termux访问文件系统的权限,选择同意,然后home目录下会出现storage目录,storage目录中就是安卓系统的文件了。

7. 更换软件镜像源

1
2
3
4
5
6
7
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list

sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list

sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list

pkg update

8. 书签

神器Termux的使用日常

debian ssh 连接android 通过termux

Termux命令行神器初体验

Termux 設定 SSH Server

Run an SSH server on your Android with Termux

The Termux Wiki

Touch Keyboard

  • 本文作者: 好好学习的郝
  • 原文链接: https://www.voidking.com/dev-termux/
  • 版权声明: 本文采用 BY-NC-SA 许可协议,转载请注明出处!源站会即时更新知识点并修正错误,欢迎访问~
  • 微信公众号同步更新,欢迎关注~