您当前的位置:首页 > 计算机 > 软件应用 > 系统工具

使用 Termux 把 Android 手机变成 SSH 服务器

时间:12-14来源:作者:点击数:
城东书院 www.cdsy.xyz

Termux 是一款能够为 Android 手机提供 Linux 环境的应用。它最大的特点就是无需 root,而且自带 pkg 包管理软件,可以很方便的其他 linux 应用。

安装 Termux

可以在 Google Play Store 或 F-Droid 上搜索 Termux 来安装,目前的版本是 0.47。值得一提的是,在豌豆荚上,这个应用的名字似乎变成了 高级终端,而且版本变成了 0.49,不知道是个什么情况。

安装 sshd

打开 Termux 会出现一个类似 Linux 终端的界面。由于 sshd 是包含在 openssh 包中的,因此我们首先需要在 Termux 中安装 openssh

pkg install openssh

安装好之后,我们需要手工启动 sshd

sshd

需要指出的是,sshd 监听的是 8022 端口而不是 22 号端口,因此可以使用下面命令来验证 ssh 服务是否开启

ssh localhost -p 8022

若要查看 sshd 的日志,则可以在 Termux 上执行

logcat -s 'syslog:*' 

添加 Public key

Termux 的 sshd 只能通过密钥登陆,因此你需要在 linux 客户机上生成密钥对

ssh-keygen

把 linux 客户机上的公钥加到 Termux 中的 .ssh/authorized_keys,这一步比较麻烦

因为你无法使用 ssh-copy-id,只能先把 id_rsa.pub 拷贝到手机上,再在手机上打开该文件,拷贝文件内容后在 Termux 中用 vi 打开 authorized_keys,并复制内容进去。

不过如果 linux 客户机上本身也开启了 ssh 服务的话,则会简单很多,可以在 Termux 上执行

ssh user@linux_clinet "cat ~/.ssh/id_rsa.pub" >> ~/.ssh/authorized_keys

就行了,其中 linux_clinet 为 linux 客户机的地址,user 为登陆用户

客户端登陆

在客户端上执行

ssh 192.4.4.9 -p 8022

将这里的 192.4.4.9 修改为手机的 ip,就能登陆到 Termux 中了。

手机ip可以通过在 Termux 中运行 ifconfig -a 来查看。

需要说明的是,使用ssh登陆Termux时无需带上用户名,因为 Termux 是单用户系统。即使你登陆时带上了用户名,Termux 也会忽略该用户名

为了方便,我们可以配置一下 ssh client 的配置文件,将下面内容加入到 ~/.ssh/config 文件中

Host termux
     HostName 192.4.4.9
     Port 8022

这样只需要执行 ssh termux 就能登陆 termx 了。

城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐