在Android手机上有一个Termux APP,可运行类似 Linux 终端的模拟器,想要学习Linux命令操作的话,可以用来练习,手机上输入命令不方便的话,可以用电脑连接手机终端输入命令练习的,来看看怎么实现连接。
文章目录
- Termux
- 安装必备
- 查看IP
- 查看用户名
- 启用sshd
- 关闭sshd
- 连接sshd
- 配置公钥
- 修改配置
- 远程终端
Termux
还不熟悉Termux是啥,可以先看看以下这篇文章
- 手机安装Termux运行nodejs学习Javascript编程入门
- Termux终端常用的命令用法详解
确保手机里安装好Termux,若还没有安装的请参考上面第一篇文章,
手机上运行如下图所示
接下来,在手机的Termux终端里,输入命令,看显示输出结果操作
安装必备
批量安装命令如下
pkg install openssh vim termux-auth
注释如下;
openssh
- 远程服务vim
- 文本编辑器termux-auth
- 授权
查看IP
要查看手机连接的WIFI IP地址,就输入如下命令
ifconfig -a
在电脑的工作环境网络中,我们只看局域网IP;
例如手机这里IP显示是192.168.101.175
如果查看IP命令报错不存在,请输入如下命令重新安装再试
apt install net-tools
查看用户名
要查看的话,就输入命令
whoami
例如要查看用户名u0_a75
的密码,就输入命令
passwd u0_a75
启用sshd
要开启sshd远程服务,就输入命令
sshd -p 2222
-p
后面跟着的是端口号2222
;
默认端口号22
好像不能用
要查看是否启用ssh,就输入如下命令查看
ps -e | grep ssh
关闭sshd
要关闭的话,就输入如下命令
pkill sshd
连接sshd
用电脑管理员打开Windows PowerShell
终端,
输入以下命令, 尝试是否顺利连接到远程手机(终端)
ssh u0_a75@192.168.101.175 -p 2222
其中
u0_a75
是手机终端上的用户名,由系统默认创建的用户名;
如提示不支持ssh命令,可能你的电脑系统比较旧(如Windows10上都有支持的),自己下载一个OpenSSH服务软件用上
输出结果:
第一次连接会提示内容会包括以下关键词就表示连接成功
Welcome to Termux!
如果提示内容有以下关键词,表示连接授权失败
Permission denied (publickey,keyboard-interactive).
要解决上面这问题,第一次连接远程终端就需要处理下授权,就配置公钥即可,
连接成功后,输出结果的后面会带$
,表示在远程终端输入命令
配置公钥
如果你电脑系统分区里还没有文件id_rsa.pub
,就打开Windows PowerShell
终端,输入命令如下,生成一个
ssh -keygen
将生成的文件id_rsa.pub
拷贝到手机的位置~/.ssh
下,
~
表示Termux终端的home
目录;
其它的还有$PREFIX
,表示usr
目录
怎么拷贝呢,自己想办法传过去吧
接下来,在手机上输入命令,打开~/.ssh
cd ~/.ssh && ls
会看到该目录下会有一个
authorized_keys
文件
在输入命令,将公钥内容写到文件中
cat id_rsa.pub > authorized_keys
接下来,就能顺利连接终端了
修改配置
如果要直接连接终端,可以试试以下命令
vim $PREFIX/etc/ssh/sshd_config
修改文件sshd_config
的内容,修改配置如下
PasswordAuthentication no
将
yes
改为no
远程终端
连接成功后,电脑上终端显示最后出现的带$
符号,这就像手机的终端,
试试输入ls命令,看看输出结果,
这样在电脑上就可以远程操作手机终端命令了,
之前传文件操作是不是不方便,那可以用Termux终端直接传文件呢,是可以的,这里能连接控制手机了,这之后就可以传文件,下一篇文章接着讲