1.1 确认目标:明确你要连接的服务器类型(SSH/SFTP、VPN、远程桌面/VNC等)。SSH/SFTP常用于命令和文件传输,VPN用于整个网络通道。
1.2 手机与系统:确保华为P8已升级到稳定的EMUI/Android版本,电量充足,已能上网(Wi‑Fi或移动数据)。
1.3 获取信息:准备好服务器IP或域名、端口(如SSH默认22)、用户名、认证方式(密码或私钥),或VPN的.ovpn配置文件与账号密码。
1.4 下载工具:推荐SSH客户端(Termius、JuiceSSH、ConnectBot)或SFTP客户端(Solid Explorer带SFTP插件),VPN则用“OpenVPN for Android”或官方客户端。下载并安装到手机上。
2.1 打开开发者选项:设置→关于手机→连续点击“版本号”7次,返回设置→开发者选项,启用。不是必须但便于调试日志。
2.2 Wi‑Fi设置:设置→Wi‑Fi→高级→保持Wi‑Fi在休眠时开启(若有该选项)。这能避免Wi‑Fi断开导致会话中断。
2.3 移动网络:如果使用移动数据,检查APN与网络稳定性,建议优先使用稳定Wi‑Fi以减少切换导致的断线。
3.1 创建主机:打开Termius→Hosts→+,输入Host名(IP或域名)、Port(默认22)、Username。
3.2 认证方式:选择Password或Use key。若使用私钥,先在Termius→Keys→+导入你的PEM/PPK私钥文件,然后在Host里选择该Key。
3.3 测试连接:保存后点击连接,第一次会提示接受指纹,确认后输入密码或使用密钥即可登录。若连不上,检查端口、服务器防火墙(iptables/ufw)与公网IP。
4.1 Termius设置:App设置→Connection→开启“Auto-reconnect”或“Reconnect on network change”。
4.2 KeepAlive参数:若客户端支持,设置TCP keepalive或ServerAliveInterval(例如30秒)以保持会话活跃。具体位置:Host→Advanced→Keep Alive 设置为30或60秒。
4.3 服务器端支持:在服务器的SSH配置(/etc/ssh/sshd_config)确保ClientAliveInterval与ClientAliveCountMax合理,例如ClientAliveInterval 60与ClientAliveCountMax 3,重启sshd生效(sudo systemctl restart sshd)。
5.1 导入配置:安装“OpenVPN for Android”→配置→导入本地.ovpn文件或手动新建配置。
5.2 自动重连设置:在该客户端配置页面,勾选“Persistent tun”/“Reconnect on network change”/“Restore on boot”(不同版本名称略有差异),并设置“Reconnect timeout”为合理值(如10秒)。
5.3 ping保活:在.ovpn文件中加入或确认以下行:ping 10、ping-restart 60、keepalive 10 60,这样客户端会定期ping服务器并在超时后重连。保存并启动连接。
6.1 关闭电池优化:设置→电池→启动管理(或应用启动管理),找到Termius/OpenVPN等,手动设置为“手动管理”并允许自启与后台运行。
6.2 锁定应用:近期任务里找到对应应用,向下滑或点击锁形图标(不同EMUI版本名不同)以锁定,防止系统回收。
6.3 开机自启:设置→应用→权限→自启(或类似项),允许该应用开机自动启动,确保重启后能自动建立连接(若客户端支持自动连接)。
7.1 安装Tasker或Automate:这类工具可设置当网络变化、连接断开或设备解锁时自动执行动作。
7.2 示例Tasker任务:Profile: Network Connected(选择Wi‑Fi或移动数据)→Task: Launch App(Termius)或运行Intent触发VPN连接;另建Profile监听App停止或SSH断开时重启连接。
7.3 脚本命令:若Termius支持Intent或CLI,可在Tasker中调用;OpenVPN for Android通常支持通过Intent启动特定配置。参照各应用的文档写入Tasker动作。
8.1 无法连接:检查服务器是否能从公网访问(用PC或在线端口扫描测试),确认端口开放并无IP限制。
8.2 频繁断线:查看手机是否开启省电策略,关闭相关优化;在服务器端查看/var/log/auth.log或OpenVPN日志定位原因。
8.3 DNS与域名问题:若域名解析异常,尝试使用IP直连或在手机网络设置中使用固定DNS(如8.8.8.8)。
8.4 权限问题:确认私钥权限及格式正确(OpenSSH PEM格式优先),若使用密码确认未被SSH黑名单策略拦截。
9.1 手动测试:连接后运行ping -O或top等命令,观察连接是否持续。对文件传输测试sftp put/get验证稳定性。
9.2 切换网络测试:连接后人工切换Wi‑Fi和移动数据,观察客户端是否自动重连并恢复会话。若使用OpenVPN,检查日志中的Reconnect记录。
9.3 长时间测试:让连接运行数小时,检查服务器端有无断开日志,确认KeepAlive和ClientAlive配置发挥作用。
10.1 优先用密钥登录:比密码更安全,建议在Termius导入私钥并禁用密码登录(服务器端设置PasswordAuthentication no)。
10.2 加密与端口:可将SSH改为非22端口以减少噪音,同时确保防火墙规则正确。VPN使用可靠的加密算法(AES‑256等)。
10.3 日志监控:定期检查服务器登录日志,阻止暴力破解并启用fail2ban等服务。
11.1 SSH本地端口转发:若需要访问内网服务,使用ssh -L本地端口:目标IP:目标端口 user@server来做端口转发(在Termius可设置端口转发规则)。
11.2 使用Mosh替代SSH:Mosh对移动网络下的延迟和切换更鲁棒,但需服务器端安装mosh(适用于支持的情况)。
11.3 日志开启:在客户端开启详细日志以便排查,OpenVPN与Termius均有日志查看功能。
问:华为P8因为系统省电策略总是把SSH或VPN杀掉,怎么彻底解决?
答:在EMUI设置中把对应应用设置为“手动管理/允许后台运行/自启动”,在电池管理里关闭对该应用的电池优化;锁定任务栏中的应用并允许开机自启;必要时用Tasker设置网络变更触发重连。以上步骤结合能基本避免系统强行杀后台进程。

问:我用的是密钥登录,但Termius提示权限错误,如何排查?
答:检查私钥格式(建议OpenSSH PEM),在Termius中导入后确认没有被破坏;服务器端authorized_keys里的公钥应为一行且权限正确(~/.ssh目录700,authorized_keys 600);若仍报错,启用服务器端sshd日志查看具体失败原因。
问:使用OpenVPN自动重连但有时无法恢复,是哪里配置有问题?
答:检查.ovpn中的ping/ping-restart/keepalive配置是否存在并合理(例如keepalive 10 60),客户端是否启用了“Reconnect on network change”和“Restore on boot”,并确认手机未对OpenVPN做电池优化或后台限制;查看客户端日志定位是DNS、路由还是认证导致重连失败。