Termux配置SSH服务器教程

在 Termux 中配置 SSH 服务器允许你通过 SSH 远程访问 Android 设备。以下是详细步骤:


1. 安装 OpenSSH

pkg update
pkg upgrade
pkg install openssh

2. 设置登录密码

Termux 默认禁用空密码登录,需设置用户密码:

passwd

输入并确认你的密码(输入时不可见)。


3. 启动 SSH 服务

sshd

4. 获取设备 IP 地址

ifconfig

ip addr show

找到 <code>wlan0</code>(Wi-Fi)或 <code>rmnet_data0</code>(移动数据)的 IP 地址(如 <code>192.168.x.x</code>)。


5. 连接 Termux

在另一台设备的终端输入:

ssh -p 8022 &lt;IP地址&gt;

示例:<code>ssh -p 8022 192.168.1.100</code>
输入步骤 2 设置的密码登录。


6. 自动启动 SSH(可选)

在 <code>~/.bashrc</code> 中添加开机自启:

echo &quot;sshd&quot; &gt;&gt; ~/.bashrc

每次打开 Termux 会自动启动 SSH。


7. 密钥登录(更安全)

生成密钥对(在客户端操作):

ssh-keygen -t ed25519

密钥默认保存在 <code>~/.ssh/id_ed25519</code>。

将公钥复制到 Termux

ssh-copy-id -p 8022 -i ~/.ssh/id_ed25519.pub &lt;IP地址&gt;

或手动复制:

# 在客户端查看公钥
cat ~/.ssh/id_ed25519.pub

# 在 Termux 中粘贴公钥到文件
mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys  # 粘贴并保存
chmod 600 ~/.ssh/authorized_keys

禁用密码登录(可选)

编辑 Termux 的 SSH 配置文件:

nano $PREFIX/etc/ssh/sshd_config

修改:

PasswordAuthentication no
ChallengeResponseAuthentication no

重启 SSH:

pkill sshd &amp;&amp; sshd

常见问题解决

  • 连接被拒绝:确保 <code>sshd</code> 正在运行(<code>pgrep sshd</code> 检查进程)。
  • 端口冲突:修改端口(编辑 <code>sshd_config</code> 中的 <code>Port 8022</code>)。
  • 防火墙限制:在路由器/手机防火墙放行 8022 端口
  • 动态 IP 变化:使用工具如 <code>ngrok</code> 或 <code>cloudflare tunnel</code> 获取固定地址。

总结

graph LR
A[安装 openssh] --&gt; B[设置密码]
B --&gt; C[启动 sshd]
C --&gt; D[获取 IP]
D --&gt; E[远程连接]
E --&gt; F[密钥登录优化]

通过以上步骤,你已成功在 Termux 部署 SSH 服务器,可安全远程管理 Android 设备。