DOC软件文档百宝箱

手机上配 SSH 密钥登录与端口转发

连上服务器只是第一步。这篇讲两个让手机运维真正顺手的进阶动作:用密钥替代密码登录,以及用端口转发把服务器上的服务「搬」到手机浏览器里看。

一、为什么值得把密码换成密钥

手机上输一遍 20 位随机密码是很折磨的事,而且开着密码登录的服务器整天被扫。换成密钥登录后:

二、在 Termius 里生成并部署密钥

生成:进 Keychain → 点 + → New SSH Key → Generate new SSH Key,类型选 ED25519(老服务器不认再退回 RSA 2048 以上),建议配一个 passphrase 并开启记住短语。

部署公钥有三种省事的做法,挑一个:

  echo "ssh-ed25519 AAAA...你的公钥" >> ~/.ssh/authorized_keys
  chmod 600 ~/.ssh/authorized_keys

最后回到 Hosts 编辑主机,认证方式从 Password 改成 Key 并选中这把密钥,断开重连验证不再要密码即生效。

报 Permission denied (publickey) 时按顺序核对:公钥是否真的进了 authorized_keys(一行一条没折行)、主机是否绑对了密钥、服务器上 ~/.ssh 是否为 700 且 authorized_keys 为 600、导入的私钥有没有丢首尾行。

三、端口转发:把远端服务接到手机上

服务器上只监听 127.0.0.1 的服务(数据库、开发中的 Web 应用、各类管理面板)从外面访问不到。端口转发做的事是:手机连着 Termius 的同时,它开一条加密隧道把那个端口「接到」手机本地。

三种类型按方向选:

类型典型用法
Local把服务器上的 MySQL / 开发服务器映射到手机,本地客户端连 localhost:3306 或浏览器开 localhost:3000
Remote反方向,把手机所在网络的服务暴露给服务器访问
Dynamic手机上开一个 SOCKS 代理端口,访问内网多台机器共用一条规则

日常最常用 Local,以服务器上 3000 端口的开发服务器为例:编辑主机 → Port Forwarding → 加一条 Local 规则(本地端口 3000、远端 localhost:3000)→ 连接主机规则即生效 → 手机浏览器打开 http://localhost:3000。

两个常见坑:隧道只在连接期间有效,浏览器打不开先确认主机处于连接状态;远端端口要填服务真正监听的那个(服务器上 ss -tlnp 可查)。传文件 / 转发莫名中断,多半是切走应用后被系统杀后台——到系统设置里关掉 Termius 的电池优化。

四、功能入口与延伸阅读

Termius 的功能清单、界面截图与安装获取入口见 Termius 安卓版介绍站。

同站更多