1. 准备工作与前提条件
- 确认手机(Android或iOS)已联网,剩余存储足够;
- 已购买或租用台湾节点的VPS/服务器,拿到IP、用户名(通常为root或自建用户)和密码或SSH公钥;
- 在手机上准备好所需APP:Android建议安装Termux、JuiceSSH或Solid Explorer(带SFTP);iOS建议安装Blink Shell、iSH或FE File Explorer;
2. 在服务器上做基础配置(建议在服务器控制台完成)
- 创建非root用户并添加到sudo:useradd -m -s /bin/bash youruser && passwd youruser && usermod -aG sudo youruser;
- 更新系统并安装常用工具(以Ubuntu为例):apt update && apt upgrade -y && apt install -y openssh-server wget curl ufw iperf3 aria2;
- 配置防火墙(允许SSH、HTTP/HTTPS):ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp && ufw enable;
3. 在手机上用SSH连接服务器(方法一:Termux / Blink)
- Android(Termux):打开Termux,执行 pkg update && pkg install openssh wget curl aria2 -y;然后 ssh youruser@SERVER_IP -p 22;首次连接确认指纹并输入密码;
- iOS(Blink/Termius):新建连接,填写主机、端口、用户名、密码或导入私钥,保存并连接;
4. 用手机通过SCP/SFTP下载文件(命令行与图形两种)
- 命令行(Termux):scp youruser@SERVER_IP:/path/to/remote/file /sdcard/Download/ 或使用rsync;示例:scp -P 22 youruser@1.2.3.4:/var/www/file.zip /sdcard/Download/;
- 图形工具(Solid Explorer / FE File Explorer):添加SFTP连接,填写IP/端口/用户名/密码或密钥,连接后浏览远端目录,长按文件选择下载到手机;
5. 使用HTTP/HTTPS或aria2进行断点续传与多线程下载
- 若服务器提供HTTP链接,浏览器直接下载;若希望稳定且可续传,推荐使用aria2:aria2c -x 16 -s 16 -c "http://SERVER_IP/path/file.zip";
- 在Termux中运行aria2c会把文件保存到Termux目录,若需移动到手机公共存储,执行 mv /data/data/com.termux/files/home/file.zip /sdcard/Download/ (需授予Termux存储权限);
6. 使用curl/wget检查文件大小与下载速度
- 查看响应头:curl -I http://SERVER_IP/path/file.zip 可查看Content-Length、Accept-Ranges等;
- 测速下载一小段:curl -o /dev/null -w "time_total=%{time_total} size=%{size_download}\n" http://SERVER_IP/path/file.zip 可估计速度;
7. 使用iperf3进行端到端带宽测试
- 在服务器端启动iperf3服务器:iperf3 -s;
- 在手机端(Termux)作为客户端测试:iperf3 -c SERVER_IP -p 5201 -P 4;输出会显示带宽、丢包与RTT;iOS可用Speedtest或iPerf官方App;
8. 使用ping、traceroute、mtr排查连通性与路径问题
- ping:ping -c 4 SERVER_IP 检查延迟与丢包;
- traceroute:在Termux安装traceroute或mtr(pkg install inetutils traceroute mtr),执行 traceroute SERVER_IP 或 mtr -rw SERVER_IP 查看路由跳数与丢包点;
9. 常见问题与排查步骤
- 连接被拒绝:检查服务器SSH是否运行(systemctl status ssh),检查ufw或云厂商安全组是否开放22端口;
- 下载速度慢:查看服务器带宽、磁盘IO(iostat)、是否被限速;可尝试多线程aria2或调整TCP窗口;
10. 使用SSH密钥在手机端免密码登录
- 在Termux生成密钥:ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""; 然后将公钥复制到服务器:cat ~/.ssh/id_rsa.pub | ssh youruser@SERVER_IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys";
- 在iOS的Blink/Termius中导入私钥并设置好权限即可实现免密码登录;
11. 下载大文件与中断恢复策略
- 推荐使用aria2:支持多连接、断点续传(-c)与最大连接数(-x/-s);示例:aria2c -x 16 -s 16 -c "http://SERVER_IP/large.iso";
- SFTP断点续传可用rsync:在Termux安装rsync并执行 rsync --partial --progress youruser@SERVER_IP:/path/large.iso /sdcard/Download/;
12. 安全与合规建议
- 使用SSH密钥替代密码并关闭密码登录(/etc/ssh/sshd_config 中设置 PasswordAuthentication no);
- 为HTTP下载启用HTTPS(配置Let's Encrypt证书),避免明文传输敏感文件;定期更新并限制账户权限;
13. 问:如何在手机上可靠地断点续传大文件?
答:推荐使用aria2(支持多线程和断点续传)或rsync(SFTP下效果好)。在Termux安装后使用aria2c -x 16 -s 16 -c "URL",或用rsync --partial --progress 通过SSH拉取。
14. 问:如何把SSH私钥安全地从电脑传到手机?
答:在电脑上用安全通道(如USB或加密邮件)复制私钥文件到手机。对Android可通过adb push或通过文件管理器放入Termux的~/.ssh,确保权限为600。iOS可用Airdrop或通过应用导入,并在应用内设置权限。
15. 问:测试连通性发现丢包或高延迟,下一步怎么排查?
答:先用ping和mtr定位是本地还是中间节点丢包;检查服务器端网络负载、带宽与防火墙;如服务器正常,联系上游/带宽提供商并提供mtr输出做进一步分析。
来源:如何用手机完成台湾服务器下载教程并测试网络连通性