如何在termux中启用ssh server
2022年12月21日约 514 字大约 2 分钟
众所周知,Termux 是一个 Android 终端仿真应用程序,用于在 Android 手机上搭建一个完整的 Linux 环境。 Termux 不是真实的 Linux 环境,但是 Termux 可以安装真实的 Linux,而且不会损失性能!. 关键是还不需要 root!
然而,在手机上敲代码总是有一些别扭,所以这篇文章就教你怎么远程链接,也就是用 ssh 连接。
在 Termux 上安装 openssh 服务
安装
- 打开 Termux
- 安装 openssh
pkg install openssh -y
- 安装好之后,我们需要手动启动 sshd
sshd
- 需要指出的是, sshd 监听的是 8022 端口而不是 22 号端口,因此可以使用下面命令来验证 ssh 服务是否开启
ssh localhost -p 8022
如果出现图片上的画面,则已经开启 ssh 服务
添加 Public key
Termux 的 sshd 只能通过密钥登陆,因此你需要在客户端上生成密钥对。
ssh-keygen
把客户端上的公钥加到 Termux 中的 .ssh/authorized_keys,这一步比较麻烦。因为你无法使用 ssh-copy-id,只能先把 id_rsa.pub 拷贝到手机上,再在手机上打开该文件,拷贝文件内容后在 Termux 中用 vi 打开 authorized_keys,并复制内容进去。
或者在电脑上将 id_rsa.pub 文件(是整个文件,不是复制文件内容)拖到文件传输助手中,在手机上用 Termux 打开,点击 EDIT ,然后打开 termux
cat ~/downloads/id_rsa.pub >> ~/.ssh/authorized_keys
不过如果客户端上本身也开启了 ssh 服务的话,则会简单很多,可以在 Termux 上执行
ssh user@clinet "cat ~/.ssh/id_rsa.pub" >> ~/.ssh/authorized_keys
就行了,其中 clinet 为客户端的地址,user 为登陆用户.
客户端登陆
在客户端上执行
ssh 127.0.0.1 -p 8022
把 127.0.0.1 换成手机 ip
手机 IP 可以在 设置 --> WLAN --> 高级设置 里查看
最后一次更新:2022.11.1