Skip to content

SSH 远程与 SFTP

Dinotty 内建 SSH 客户端,可连接到远程主机作为工作区的活动连接。连接后终端、文件浏览、命令收藏都在远程主机上执行,体验与本地一致。

新建 SSH 连接

打开右侧 SSH 面板(侧边栏服务器图标),点击右上角 + 按钮新建连接:

字段说明
名称显示名称,可留空(用 host 作名)
主机主机名或 IP
端口默认 22
用户名登录用户
认证方式密码 / 密钥
密钥路径选择密钥文件(密钥认证时)
密码短语密钥的 passphrase(如适用)
分组可选,用于在面板里分组显示

连接复用

SSH 配置保存为 profile,可在多个工作区中复用。每个工作区同时只能激活一个 SSH 连接。

认证方式

密码认证

输入用户密码,连接时弹出密码框。密码可选「保存到本地钥匙串」,避免每次输入。

密钥认证

选择私钥文件路径(默认 ~/.ssh/id_rsa~/.ssh/id_ed25519 等)。如果私钥有 passphrase,连接时弹窗输入。

支持 OpenSSH 格式和 PEM 格式。

host_key 校验

首次连接某主机时,服务端会获取对方的 host_key 并显示指纹:

  • 指纹核对:与已知正确指纹对比(如云服务商控制台显示的指纹)
  • 确认接受:接受后 host_key 保存到本地 ~/.ssh/known_hosts
  • 变更告警:后续连接若 host_key 变化,会高亮警告并拒绝连接(防止中间人攻击)

拒绝未知 host_key

不要在不可信网络下接受未知 host_key,可能是中间人攻击。

SFTP 文件管理

SSH 连接建立后,工作区的文件浏览器自动切换到 SFTP 模式:

  • 浏览:远程目录树展开
  • 编辑:双击文件下载到临时缓存,用 Monaco 编辑器编辑
  • 保存:编辑后自动上传回远程
  • 上传:从本地拖拽文件到文件浏览器
  • 下载:右键文件 -> 下载
  • 删除 / 重命名:右键菜单

SFTP 操作走同一 SSH 通道,无需额外端口。

分屏继承连接

工作区激活了 SSH 连接后,所有新分屏的终端 pane 都会自动继承该连接:

  • 在 pane A 连接 SSH
  • Cmd + \ 新建分屏 pane B
  • pane B 自动登录到同一远程主机

这样可以在远程主机上开多个 shell,比如一个跑 agent、一个看日志、一个编辑配置。

切换到本地

工作区只能有一个活动连接。要从 SSH 切回本地:

  1. Command PaletteCmd + Shift + P)-> 输入 connection.local / disconnect
  2. 侧边栏服务器列表:当前连接项右键 -> 断开

切换后所有新 pane 走本地 shell;已有 pane 保持原连接直到关闭。

SSH 配置文件

Dinotty 不会读取 ~/.ssh/config 的 Host 别名--所有连接在面板里独立管理。如果你习惯用 ~/.ssh/config,可以把别名对应的 host/port/user 直接填到 Dinotty 的 SSH profile 里。

已知限制

  • SSH Agent 转发:暂不支持 -A,需要时在远程手动配置
  • 跳板机(ProxyJump):暂不支持,需要时配置 SSH 隧道
  • 端口转发:暂不支持 -L / -R

下一步

Released under the MIT license