STACIO WIKI · 用户指南

Stacio 远程连接指南

适用版本:Stacio 0.14.x
更新日期:2026-07-25
面向读者:需要创建、迁移和排查远程会话的开发、运维及网络管理人员

1. 连接方式概览

Stacio 提供三条主要连接路径:

路径 适用场景 是否保存
快速连接 临时 SSH、第一次验证主机 可选择连接成功后保存。
保存会话 经常使用、需要标签/环境/跳板/自动化策略 保存到本机会话数据库。
导入会话 从其他客户端或堡垒机迁移 预览确认后保存。

无论通过哪种路径连接,远端账号的授权、主机网络策略和协议安全边界都由目标环境决定。

实际使用中,大多数会话会直接连接 IPv4 地址,例如 192.168.1.20,SSH 不使用默认端口时写成 192.168.1.20:2222。有稳定 DNS 的环境也可以使用 server.example.comserver.example.com:2222。本文后续示例优先使用 IP,再补充等价的域名形式。

2. 快速连接

2.1 IP、端口与域名约定

快速连接只有一个“SSH 目标”输入框,可直接接收以下常见形式:

使用场景 输入示例 实际主机 实际端口 实际用户
内网 IP,默认端口 192.168.1.20 192.168.1.20 22 当前 macOS 用户
内网 IP,自定义端口 192.168.1.20:2222 192.168.1.20 2222 当前 macOS 用户
指定用户和 IP root@192.168.1.20 192.168.1.20 22 root
指定用户、IP 和端口 deploy@192.168.1.20:2222 192.168.1.20 2222 deploy
域名,默认端口 server.example.com server.example.com 22 当前 macOS 用户
域名和自定义端口 admin@server.example.com:22022 server.example.com 22022 admin

本文中的 IP:端口表示一个完整网络端点,IP 示例以常见 IPv4 为主。它不表示所有界面都把二者写在同一个输入框中:

2.2 支持的快速连接输入

快速连接当前用于 SSH,支持:

192.168.1.20
192.168.1.20:2222
root@192.168.1.20
deploy@192.168.1.20:2222
host.example.com
user@host.example.com
user@host.example.com:2222
ssh://deploy@192.168.1.20:2222

规则如下:

未勾选保存会话时,快速连接为临时 secret 创建的本地凭据引用会在连接完成或失败后清理;勾选保存时,该引用随会话保留。

2.3 建议用途

3. 创建保存会话

选择文件 > 新建会话,然后选择协议。当前新建会话界面可保存:

RSH、XDMCP、Mosh、S3 和 WSL 会显示为当前版本不可保存或不支持;不要把这些规划项当作已可用连接。

3.1 通用字段

字段 说明
名称 侧栏和标签页显示名称,建议包含系统、用途或环境。
主机 只填写 IP 地址或 DNS 名称,不附带用户名、协议或端口。串口会话改为设备路径。
端口 必须为 165535。协议切换时会填入常用默认端口。
用户 远端登录用户;部分协议可选。
认证 密码、私钥或 SSH 代理,按协议显示。
标签 用于搜索、环境识别和收藏;不要放密码或 Token。
标签颜色 用于侧栏和标签页识别。
环境 开发、预发或生产,会影响 AI/Agent 和 MultiExec 安全策略。
AI 执行 跟随全局、禁止执行、仅命令卡片、只读自动或每条确认。

常见保存会话可按以下方式填写:

场景 主机字段 端口字段 用户字段
局域网 Linux 192.168.1.20 22 root
NAT 或自定义 SSH 端口 10.20.0.15 2222 deploy
使用内部域名 server.example.com 22 admin

不要在主机字段中填写 192.168.1.20:2222;在保存会话表单中,这会把端口混入主机字符串。即使协议使用默认端口,也建议保留界面自动填写的明确端口值,便于后续核对和审计。

直接 IP 适合地址稳定、无需 DNS 的局域网、VPN 或固定公网入口;域名适合由 DNS 管理、地址可能切换或需要统一命名的目标。域名连接发生故障时,应同时记录配置域名、解析到的 IP 和端口,但不要未经确认就把保存会话改成解析结果。

3.2 推荐命名与标签

建议会话名能独立表达目标,例如:

prod-api-01
staging-postgres-bastion
lab-switch-console

标签可用于补充 project-alinuxdatabasefavorite 等信息。生产会话必须把“环境”设为生产,不要只依赖名称中的 prod

4. SSH 认证

4.1 密码

  1. 认证方式选择密码
  2. 填写密码并保存。
  3. Stacio 在会话数据库中保存凭据引用,secret 写入 Stacio 本地加密凭据库。
  4. 如果凭据文件缺失或无法解密,连接时会要求重新输入并保存。

不要把密码写入会话名称、标签、启动命令、环境变量、连接脚本或导入文件。

4.2 私钥

  1. 认证方式选择私钥
  2. 选择本地私钥路径,例如 ~/.ssh/id_ed25519
  3. 私钥有口令时,把口令保存到本地凭据库。
  4. 确认当前 macOS 用户仍能读取该私钥文件。

Stacio 保存私钥路径,不会把私钥正文放入普通会话导出。移动或删除私钥后,需要编辑会话并重新选择。

4.3 SSH 代理

选择SSH 代理时,Stacio 不要求保存密码或私钥口令。连接能否成功取决于当前环境中的 SSH agent 是否可用、是否加载了正确密钥,以及远端是否接受相应公钥。

5. 主机密钥确认

5.1 首次连接

Stacio 在发送认证凭据前探测主机密钥。首次连接会显示:

主机密钥信任以“配置中的主机字符串 + 端口”为连接身份。以下三项会分别确认和保存,不能因为最终可能到达同一台服务器就互相代替:

192.168.1.20:22
192.168.1.20:2222
server.example.com:22

因此,从 IP 改成域名、从域名改成 IP 或修改端口时,出现新的首次信任确认是正常现象;仍须通过可信渠道核对指纹。

核对来源包括云控制台、主机管理员、资产系统或已建立的可信通道。确认后,Stacio 把信任结果保存到本地数据库。

5.2 指纹变化

指纹与已保存值不一致时,Stacio 默认阻断连接。常见合法原因包括主机重装、SSH host key 轮换、IP/DNS 重新分配或跳板目标变化;也可能是中间人攻击。

处理顺序:

  1. 停止连接,不要反复尝试或直接接受新指纹。
  2. 核对实际目标、DNS、端口、VPN 和跳板机。
  3. 通过独立可信渠道取得新指纹。
  4. 确认变更经过授权后,再更新本地信任记录。
  5. 在诊断或变更记录中保留时间、旧/新指纹摘要和确认人。

5.3 跳板机

ProxyJump 会分别验证跳板机和目标主机的指纹,任何一端不可信都会阻断连接。

6. 跳板机与 ProxyJump

SSH 会话的跳板机区域提供:

推荐使用“已有会话”,便于统一维护主机、账号、凭据和指纹。手动模式适合临时或尚未保存的堡垒入口。

手动模式同样使用独立字段。例如跳板端点 10.0.0.5:2222 应填写主机 = 10.0.0.5端口 = 2222;使用域名时填写主机 = bastion.example.com端口 = 22。不要把完整端点粘贴进跳板主机字段。

连接流程为:

Stacio -> 跳板机 SSH -> 目标主机 SSH

注意:

7. 连接后动作与超时

保存 SSH 会话可配置:

字段 当前行为
启动命令 与环境变量一起显示在终端连接横幅的 Startup plan 中,当前版本不会自动执行。
连接脚本 SSH Shell 就绪后自动写入终端,并补充换行提交。
环境变量 每行一个 KEY=value,作为启动计划显示,当前版本不会自动导出到 Shell。
连接超时 控制连接等待;重连时可能根据上次成功耗时自适应增加。

因此,需要自动执行的命令只能放在“连接脚本”,并应保持幂等、可审计、低风险。生产环境不建议配置自动变更脚本。

8. 其他协议

8.1 SFTP 与 SCP

8.2 FTP

8.3 Telnet

8.4 VNC

8.5 串口

串口会话需要选择设备路径,并配置波特率、数据位、停止位、校验、流控和退格键。内置预设覆盖常见网络设备的 9600 8N1 和高速 Console 的 115200 8N1

设备无法打开时检查:

8.6 本地终端

本地终端在 Mac 上运行,不经过远程 SSH 会话。使用本地 Agent 时,必须区分本地 Shell 与通过 stacio-remote 操作的远端终端。

9. 导入会话

9.1 支持的来源

文件 > 导入会话当前列出:

来源 常见输入
Stacio .json.stacio-session
Xshell .xsh.xts.zip
MobaXterm .mxtsessions
WindTerm .sessions
SecureCRT .xml.ini.zip
FinalShell conn 目录
Termius .json
Electerm .json
JSON 通用 .json
堡垒机 .xlsx.zip 或厂商连接文件

堡垒机导入属于受 License 控制的连接编排功能。

9.2 安全导入流程

  1. 选择明确的来源类型和原始导出文件。
  2. 检查预览中的名称、分组、协议、目标和冲突状态。
  3. 确认端口和用户名没有被错误解析。
  4. 对重名会话选择跳过、覆盖或重命名策略。
  5. 导入后重新配置密码、Token 或私钥口令。
  6. 首次连接时重新核对主机密钥。

导入不会把外部文件中的明文密码当作可信凭据。Stacio 格式导入也会过滤凭据引用和自动执行字段;例如导入文件中的连接脚本或启动命令不会被静默继承。

9.3 导入失败

视图 > 诊断查看“导入报告”,重点检查:

10. 会话维护

10.1 临时更换用户

右键会话选择连接为...,输入用户名后可临时打开连接,保存的会话不会被修改。适合使用同一主机的不同低权限账号进行验证。

10.2 Ping 主机

右键选择Ping 主机会显示持续输出并允许停止。Ping 只接收 IP 或域名,不检查 IP:端口;Ping 不通也不一定代表 SSH 不通,原因可能包括 ICMP 被禁、路由策略或本机权限。验证 192.168.1.20:2222 这类端点时,仍应在诊断 > 端口检查中分别填写主机 192.168.1.20 和端口 2222

10.3 复制、移动和导出

11. 断线与重连

SSH 终端会区分连接中、运行中、断开、重连中和已关闭。网络中断后可能自动重连,延迟会逐步增加;手动关闭或取消后不会继续自动重连。

重连前检查:

  1. 当前标签仍指向预期会话。
  2. VPN、Wi-Fi、有线网络或代理已恢复。
  3. 主机和端口没有变化。
  4. 凭据仍有效,SSH agent 仍加载正确密钥。
  5. 主机密钥没有出现未经确认的变化。

自动重连只恢复连接,不保证远端前台程序、事务、文件写入或未完成命令能从中断点继续。

12. 错误定位

错误 可能原因 建议
配置无效 主机为空、把 IP:端口误填到独立主机字段、端口越界、私钥路径缺失 编辑会话并分开校验主机与端口。
认证失败 用户、密码、私钥、口令或 agent 不匹配 使用最小权限账号重新验证凭据。
连接超时 网络不可达、端口过滤、SSH 服务未响应 检查 VPN、路由、DNS、端口和超时设置。
连接被拒绝 目标端口未监听或防火墙主动拒绝 在目标或边界设备核对监听和策略。
主机密钥未知 首次连接或本地记录缺失 通过可信渠道核对后确认。
主机密钥已变更 重装、轮换、地址复用或攻击 立即停止并独立核验,不要直接覆盖。
找不到跳板机会话 引用 ID 已删除或导入后变化 重新选择已有会话或改为手动配置。
明文协议警告 Telnet/FTP 不加密 优先迁移 SSH/SFTP;确需使用时限定可信网络。

需要提交问题时,提供 Stacio 版本、macOS 版本、协议、目标端口、错误发生时间、是否经过跳板机、认证类型和已脱敏诊断;不要提交 secret 或私钥正文。

本文是 Stacio Wiki 中文用户文档的一部分。