在 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
找到
wlan0
(Wi-Fi)或rmnet_data0
(移动数据)的 IP 地址(如192.168.x.x
)。
5. 连接 Termux
在另一台设备的终端输入:
ssh -p 8022 <IP地址>
示例:
ssh -p 8022 192.168.1.100
输入步骤 2 设置的密码登录。
6. 自动启动 SSH(可选)
在 ~/.bashrc
中添加开机自启:
echo "sshd" >> ~/.bashrc
每次打开 Termux 会自动启动 SSH。
7. 密钥登录(更安全)
生成密钥对(在客户端操作):
ssh-keygen -t ed25519
密钥默认保存在
~/.ssh/id_ed25519
。
将公钥复制到 Termux:
ssh-copy-id -p 8022 -i ~/.ssh/id_ed25519.pub <IP地址>
或手动复制:
# 在客户端查看公钥
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 && sshd
常见问题解决
- 连接被拒绝:确保
sshd
正在运行(pgrep sshd
检查进程)。 - 端口冲突:修改端口(编辑
sshd_config
中的Port 8022
)。 - 防火墙限制:在路由器/手机防火墙放行 8022 端口。
- 动态 IP 变化:使用工具如
ngrok
或cloudflare tunnel
获取固定地址。
总结
graph LR
A[安装 openssh] --> B[设置密码]
B --> C[启动 sshd]
C --> D[获取 IP]
D --> E[远程连接]
E --> F[密钥登录优化]
通过以上步骤,你已成功在 Termux 部署 SSH 服务器,可安全远程管理 Android 设备。
Leave a Reply