操作指南——逐步指导,在 Android 和 iOS 上充分利用 SSHBorg。iOS 版有所不同之处,会以标有 iOS 的说明注明。
在主机列表界面点击 + 按钮添加新服务器(在 iOS 上会弹出一个小菜单:选择添加主机)。
ubuntu、root、deploy)。首次连接时,SSHBorg 会显示服务器指纹并要求您确认。这是一项安全检查,确保您连接的是正确的服务器而非冒充者。接受前请通过可信渠道核实指纹与服务器管理员提供的一致。
确认后,指纹将保存在本地。若日后连接时指纹发生变化,SSHBorg 将发出警告——这可能表示服务器重建、密钥轮换或中间人攻击。
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
当服务器列表越来越长时,可以把主机整理到可折叠的彩色分组中,例如生产、家庭实验室、客户。
在 iOS 上也可以单独创建分组:点击 + 按钮 → 新建分组。
颜色可以从快捷色板中选择,在 Android 上也可以用渐变取色器自由调配——iOS 上从色板中选择。主机还可以拥有自己的颜色——在主机编辑器中、分组下方设置——它会覆盖分组颜色,对未分组的主机同样有效。
未分组的主机始终显示在列表顶部;如果不创建任何分组,列表的外观和行为与以前完全相同。
在设置 → 主机列表排序中选择列表的排列方式:
前三种方式中分组始终保持字母顺序,因此分组标题不会移动,只有组内的主机重新排列。手动排序时分组也可以移动。
要调整顺序,请选择手动,然后打开某个主机或分组标题的菜单——⋮ 按钮(iOS 上为 …)、长按,或Android TV 遥控器上的菜单键——并使用上移 / 下移。主机只能在自己所属的区块内移动:要放到另一个分组,请在主机编辑器中更改分组。切换到手动时会完整保留当时屏幕上的顺序,因此不会发生跳动;之后新增的主机会排到所属区块的末尾。
SFTP 文件管理器让您直接从手机浏览、上传、下载、重命名和删除服务器上的文件。在主机列表界面,通过主机菜单中的文件打开它。
点击文件夹进入。使用返回箭头或点击路径栏中的任意段落跳转到上级目录。
符号链接显示有小链接图标角标。点击符号链接会导航到其目标:若指向目录则进入,若指向文件则与普通文件相同。
点击 上传 按钮(↑)从手机存储中选择一个或多个文件。上传立即开始,进度显示在界面顶部。
点击任意文件即可立即下载。要下载整个文件夹,点击其旁边的 下载 图标——SSHBorg 将下载整个目录树并保存到手机的 Downloads 文件夹。
如果目标位置已存在同名文件,对话框将询问您是 覆盖、跳过该文件,还是 取消整个传输。
长按任意项目进入选择模式,然后继续点击其他项目以建立选择。工具栏显示当前选择的操作:
基于密钥的认证比密码更安全,设置完成后无需记忆或输入任何内容。
点击主机列表界面顶部的钥匙图标打开 SSH 密钥,然后生成新密钥。SSHBorg 支持:
为密钥取一个有意义的名称(例如 my-vps 或 work-server),便于日后识别。
生成密钥后,点击密钥查看其 公钥。复制并粘贴到服务器上目标用户的 ~/.ssh/authorized_keys 文件中。
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "ssh-ed25519 AAAA...您复制的密钥..." >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
/etc/ssh/sshd_config 中有 PubkeyAuthentication yes。大多数发行版默认启用,但部分加固镜像可能禁用此选项。
开启 设置 → 安全 → 加密敏感数据,即可使用保存在设备安全硬件中的密钥(Android 上为 Android 密钥库,iOS 上为钥匙串)加密存储私钥和已保存的主机密码。在您启用之前该选项保持关闭;首次启动时显示的安全提示会指向它。
加密数据与设备以及本次安装的应用绑定:卸载应用后,已存储的密钥无法恢复,您需要生成新密钥并重新在服务器上授权。如果您在手机上保存了敏感的服务器凭据,强烈建议同时启用应用锁和此选项。
导入受密码短语保护的密钥时,只需在导入时用密码短语解锁一次。
在终端输入时,SSHBorg 会在键盘上方显示建议栏。建议来自您所连接用户的 Shell 历史记录。
终端会话开启时,SSHBorg 从远程服务器读取 Shell 历史文件,依次尝试以下位置:
~/.bash_history — Bash Shell 的默认位置~/.zsh_history — Zsh 的默认位置(若设置了 $HISTFILE 也会检查)~/.local/share/fish/fish_history — Fish Shell 用户使用第一个存在且可读的文件。输入时,命令会实时过滤并以标签形式显示在建议栏。点击标签即可插入命令。
没有建议出现
~/.bashrc 中添加:
HISTFILE=~/.bash_history
HISTSIZE=10000
HISTFILESIZE=20000
~/.zshrc 中添加:
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt APPEND_HISTORY SHARE_HISTORY
建议来自错误的用户
sudo su - root(或用 su 切换到其他用户),建议栏仍显示原始登录用户的历史,而非 root 的历史。这是因为 SSHBorg 在 Shell 启动前使用连接凭据读取历史文件。
root 登录的主机条目(若服务器允许)。
终端除键盘输入外,还响应以下触摸手势:
全屏程序。 占据整个屏幕的程序 — tmux、vim、nano、less — 没有自己的回滚缓冲区,因此在它们运行期间,视图会停留在当前画面,而不会滑入下面的 shell 输出。
要在其中滚动,需要由程序自己处理。在 tmux 中,将 set -g mouse on 加入 ~/.tmux.conf:此后滑动即可翻阅手指所在窗格的历史。任何接受鼠标输入的程序同理,例如设置了 set mouse=a 的 vim。使用 screen 时,请检查 ~/.screenrc 中是否有 altscreen on — 许多系统默认关闭它,此时 screen 会直接画在普通回滚缓冲区之上。
在设置 → 终端中可以按需调整终端:
软键盘打开时,上方会出现一排快捷按键。左右滑动按键栏可访问所有按键。
Ctrl 和 Alt 是粘滞切换键——点击其中一个,再点击字母键即可发送组合键。每次按键后自动重置。
拼写检查图标可在终端模式和文字模式之间切换键盘。终端模式(默认)下自动更正和词语建议被禁用——适合输入命令和文件路径。文字模式下键盘像普通文本框一样工作,启用词语建议和自动更正。通过 SSH 输入自然语言时很有用,例如使用 Claude Code 或其他交互式工具。
在 Android 上,文字模式也是语音输入的前提。键盘的麦克风键需要一个真正的文本框来写入,因此在终端模式下语音输入不会产生任何内容——听写前请切换到文字模式。
向右滑动按键栏可访问 F1 至 F12 功能键。
按键栏有多种布局。点按栏上的 ⇄ 键即可切换:按键会让位于可用按键栏列表,点按其中一个即可,选择会被记住。也可以在设置 → 终端 → 额外按键栏 → 自定义中选择和管理按键栏。
/ - | ~,方向键按键盘顺序排列(← ↑ ↓ →)。ESC / - Home ↑ End PgUp 在上,Tab Ctrl Alt ← ↓ → PgDn 在下。要创建自己的按键栏,可复制一个预设(旁边的 ⋮ 菜单,iOS 上为长按)或新建一个。编辑器会按实际外观显示按键栏:点按一个按键将其选中,然后用下方按钮把它左右移动、移到另一行、更改、在其后添加按键或移除。每一行可以滚动(按键保持自然宽度)或填满屏幕宽度(手机上每行最多约九个按键)。最多三行;按键大小可调。
除了常规按键,自定义按键栏还可以包含文本键:任意文本原样发送——单个 |、sudo 前缀或一整条命令。用 \n 表示回车、\t 表示 Tab、\e 表示 Esc,这样 ls -la\n 就成了一键宏。另有两个操作键:固定在键盘关闭时仍保持按键栏可见,键盘显示或隐藏键盘。
自定义按键栏包含在设置备份中。在 Android TV 上一切都可用遥控器操作:编辑器的按键和按钮都能用方向键到达。
SSH 代理转发允许 SSHBorg 中存储的密钥用于验证从远程服务器内部发起的进一步连接——例如 git clone 私有仓库,或跳转到第二台服务器。
添加或编辑主机时,启用 代理转发 开关。SSHBorg 将作为该会话的 SSH 代理。
服务器必须允许代理转发。检查 /etc/ssh/sshd_config:
AllowAgentForwarding yes
大多数系统默认如此。修改后重启 SSH 守护进程:
sudo systemctl restart sshd
如果您也从笔记本或台式机连接此服务器,可在本地 ~/.ssh/config 中持久配置转发:
Host myserver
HostName 203.0.113.42
User ubuntu
ForwardAgent yes
一些旧版服务器——网络设备、嵌入式设备或运行过时 OpenSSH 版本的系统——仅支持现代 SSH 客户端默认不再通告的加密算法。
在主机设置中启用允许旧版加密开关后,SSHBorg 会将以下算法追加到协商列表:
aes128-cbc、aes192-cbc、aes256-cbc、3des-cbcdiffie-hellman-group14-sha1、diffie-hellman-group-exchange-sha1、diffie-hellman-group1-sha1ssh-dss(DSA 1024-bit)服务器始终协商双方都支持的最强算法,因此启用此选项不会削弱与现代服务器的连接安全性。
ssh-dss 主机密钥:应用所用的 SSH 库已不再包含 DSA,因此仅提供 DSA 主机密钥的服务器,即使开启此选项,也无法从 iPhone 或 iPad 连接。
SSH 是手机与服务器之间的实时 TCP 连接。一旦连接中断——哪怕只是一秒——会话及其中运行的一切都会丢失。
移动网络特别容易断开连接,原因如下:
终端复用器在服务器上运行持久会话,完全独立于 SSH 连接。连接断开时,会话及其中运行的一切继续运行。重新连接后,重新附加即可找到一切如常。
这是从手机管理服务器最有用的习惯。
tmux 在大多数现代 Linux 发行版上可用,是推荐的选择。
# 开始一个新命名会话
tmux new -s work
# 从会话分离(保持运行)
Ctrl+B,然后 D
# 列出正在运行的会话
tmux ls
# 重新附加到会话
tmux attach -t work
# 附加到最近的会话
tmux attach
screen 较旧,但在几乎所有 Unix 系统上都可用,包括可能未安装 tmux 的最小服务器镜像。
# 开始一个新命名会话
screen -S work
# 从会话分离
Ctrl+A,然后 D
# 列出正在运行的会话
screen -ls
# 重新附加到会话
screen -r work
tmux attach || tmux new -s main~/.bashrc 或 ~/.zshrc 中添加 tmux attach || tmux new -s main,这样每次通过 SSHBorg 登录时都会自动启动复用器会话。
跳板机(也称堡垒主机)是一台中间服务器,用于访问无法从互联网直接到达的目标服务器。SSHBorg 原生支持单跳和多跳链。
如果需要跳过多台中间服务器(例如 互联网 → 堡垒 → DMZ → 目标),为每跳创建一个条目并链接:
桌面端 ~/.ssh/config 中的等效配置如下:
Host bastion
HostName bastion.example.com
User admin
ForwardAgent yes
Host target
HostName 10.0.1.50
User ubuntu
ProxyJump bastion
ForwardAgent yes
使用此配置,笔记本上的 ssh target 会透明地跳过堡垒。
SSHBorg 允许您同时保持多个 SSH 终端会话和 SFTP 文件管理器会话,甚至可以连接到不同的服务器。
tmux 或 screen。
在 设置 → 安全 → 应用锁 中选择保护方式:无(默认)、仅生物识别(指纹或人脸解锁)、设备锁(除生物识别外,还可使用设备的 PIN、图案或密码),或应用内 PIN 或密码短语。启用锁定后,SSHBorg 在显示任何主机、凭据或会话数据前都会要求验证。
应用内 PIN 或密码短语 可在任何设备上使用,即使没有生物识别硬件或系统屏幕锁——因此它是 Android TV 上的正确选择。更改或移除时会先要求输入当前的。忘记后无法找回:你需要清除应用数据或重新安装,因此请保留主机的备份。
您可以设置不活动超时——在后台等待该时长后,应用会自动锁定。
SSHBorg 默认阻止截图和录屏,防止敏感的终端内容通过最近应用界面或截屏工具泄露。
如果需要截图(例如分享终端输出),可在 设置 → 安全 → 允许截图 中临时禁用截图保护。
开启加密敏感数据后(参见SSH 密钥),密码和私钥会使用保存在 Android 密钥库(Android 10+ 上由硬件支持)或 iOS 钥匙串中、仅限本设备的密钥加密存储。凭据永不写入外部存储,也不会传输到任何地方。
SSHBorg 可以将主机配置和应用设置导出并导入为 JSON 文件。这样您可以将服务器列表转移到另一台设备,或保留一份可移植的配置备份。
前往 设置 → 备份 → 导出备份。通过系统文件选择器选择文件保存位置。文件默认命名为 sshborg_backup.json(iOS 上为 sshborg-backup-日期.json)。
前往 设置 → 备份 → 导入备份。选择之前导出(或手动创建)的 .json 文件。SSHBorg 将其与现有主机列表合并:
keyLabel 匹配的密钥(若存在);否则忽略该字段。导出文件是一个标准 JSON 对象。您也可以手动创建它,从其他来源批量导入服务器列表。
{
"version": 7,
"exported_at": "2026-05-14T10:00:00Z",
"groups": [
{ "name": "生产", "color": -1754827, "position": 0 }
],
"hosts": [
{
"label": "我的 VPS",
"hostname": "203.0.113.42",
"port": 22,
"username": "ubuntu",
"agentForwarding": false,
"jumpMode": "simple",
"jumpHosts": null,
"jumpHostIdList": null,
"portForwardings": null,
"sftpStartMode": "last",
"sftpStartDir": null,
"sftpShowHidden": false,
"allowLegacyCiphers": false,
"position": 0,
"lastConnected": 1757404800000,
"connectCount": 12,
"keyLabel": "我的 VPS 密钥",
"group": "生产"
}
],
"settings": {
"night_mode": 0,
"scrollback_lines": 2000,
"terminal_font_size": 13,
"terminal_color_scheme": 0,
"double_tap_action": 0
}
}
可选的 settings 对象包含应用设置,导出时会自动写入;手动创建文件时可以省略。
label — SSHBorg 中显示的名称。导入时用作唯一合并键。必填。hostname — 服务器地址或 IP(IPv4 或 IPv6)。必填。port — SSH 端口。默认值:22。username — 登录用户名。必填。agentForwarding — true 启用 SSH 代理转发。默认值:false。jumpMode — "simple"(使用 jumpHosts 文本)或 "host_list"(使用 SSHBorg 内部主机 ID)。手动创建文件时请使用 "simple"。jumpHosts — 以逗号分隔的跳板机列表,格式为 [用户名@]主机[:端口]。仅在 jumpMode 为 "simple" 时使用。portForwardings — 以换行符分隔的本地端口转发规则,使用 SSH -L 语法,例如 "8080:localhost:8080"。sftpStartMode — SFTP 起始目录:"last"(记住上次访问的目录)、"fixed"(始终使用 sftpStartDir)、"home"(服务器主目录)。默认值:"last"。sftpStartDir — 当 sftpStartMode 为 "fixed" 时使用的路径。sftpShowHidden — true 时在该主机的 SFTP 浏览器中显示隐藏文件(点文件,以 "." 开头的名称)。默认 false。allowLegacyCiphers — 设为 true 可启用上文介绍的旧式加密算法。默认为 false。keyLabel — 此主机所用 SSH 密钥的名称。导入时,如果存在同名密钥,则关联到该主机;否则忽略该字段。密钥本身从不包含在备份中。group — 主机所属分组的名称。分组列在顶层的 groups 数组中,包含 name 和 color(ARGB,带符号 32 位整数)。如果主机引用的分组不在数组中,会用默认颜色自动创建 — 因此手写文件时可以完全省略该数组。color — 主机的可选颜色(ARGB,带符号 32 位整数),会覆盖分组颜色。position — 主机在手动排序中的位置,按其所属区块(未分组区块或某个分组)内部计数。省略则排到末尾。分组在 groups 数组中也有各自的 position。lastConnected — 最后一次连接的时间,以 Unix 纪元起的毫秒数表示。用于“最近使用”排序。connectCount — 向该主机开启过多少个终端会话。用于“最常使用”排序。label、hostname 和 username 外,所有字段均为可选。省略的字段将使用默认值。
SSHBorg 可在 Android TV 和 Google TV 上运行。可用遥控器的方向键操作,但由于这是一款文字较多的应用,外接实体键盘会带来很大便利。
要对某一行进行重命名、删除、编辑、复制或下载,请打开其菜单:在选中该行时按遥控器的 菜单(选项)键,或 长按 OK。单按 OK 执行主操作,而非打开菜单。
强烈建议使用 实体键盘(USB 或蓝牙,Android TV 两者都支持),终端基本上离不开它。有了键盘,文本框和 shell 都能正常使用。
没有键盘时,屏幕键盘仍可用于简短输入:聚焦一个输入框,按 OK 打开,输入后按键盘上的 OK / 前往 确认——在密码提示框中这会直接连接。但用屏幕键盘输入 shell 命令并不实用。
TV 通常没有指纹识别或屏幕锁,因此请用内置的 PIN 或密码短语 锁保护应用(设置 → 安全)——它完全可用遥控器或键盘操作。参见 应用安全。