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、安装opensshapt 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-keyssh-keygen
命令完成后,在~/.ssh
目录中就生成了id_rsa.pub和id_rsa两个文件。
2、创建authorized_keystouch ~/.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_honorscp ~/.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 | killall sshd |
然后,在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 | 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 |