myfreax

使用Termux在Android上运行SSH服务器

借助出色的Termux终端仿真器应用程序,您可以在Android上运行SSH服务器。以前,我使用SSHDroid来实现此目的,但是使用Termux更好,因为您可以使用包管理器工作

2 min read
By myfreax
使用Termux在Android上运行SSH服务器

借助出色的Termux终端仿真器应用程序,您可以在Android上运行SSH服务器。

以前,我使用SSHDroid来实现此目的,但是使用Termux更好,因为您可以使用包管理器工作。

运行服务

您需要安装OpenSSH软件包

apt install openssh

并使用以下命令启动ssh服务器。

sshd

您的ssh服务正在端口8022上运行,以下是测试命令

ssh localhost -p 8022

添加您的公钥

您无法在Termux中进行密码身份验证,因此需要将OpenSSH公钥放入~/.ssh/authorized_keys文件中。

如果还没有OpenSSH密钥对,则可以使用以下命令生成一个在你需要使用ssh登录的机器上:

ssh-keygen

您可以输入或不输入密码,如果没有另外指定,您的密钥对将保存在~/.ssh/id_rsa和~/.ssh/id_rsa.pub下。然后可以使用以下命令将其添加到~/.ssh/authorized_key中,注意这个命令在这里只是简单说明,并不是你就可以简单重定向到你Android手机,但是实际如果你要将你的id_rsa.pub放到termux中,你需要以一种方式连接到termux。比如使用stf连接到Android手机

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

然后,您可以通过连接到ssh服务对其进行测试

ssh $IP -p 8022

现在,您可以使用公钥~/.ssh/id_rsa.pub登录到Termux SSH服务器。

OpenSSH

如果您使用的是OpenSSH(在Linux或Cygwin上),则可以直接使用它:

ssh $IP -p 8022

希望将来Termux允许将sshd注册为适当的服务,它将在系统启动时自动启动。现在,我的.bashrc文件中有'sshd'命令,并且正在使用Tasker启动Termux。您还可以使用Termux小部件小部件快速启动sshd。