SwiftServer
故障排查

连接问题

身份验证失败、主机密钥警告、超时,以及各平台特有的连接问题。

先按机器上的测试连接:它给出的提示会立刻把问题范围缩小。要看得更深, 连接对话框里的事件日志和 SSH 诊断会列出每一次尝试,以及 SSH 层面的确切失败原因。

「身份验证失败。请检查密钥设置。」

服务器拒绝了这把密钥:

  • 公钥没有放到服务器上,见安装公钥。
  • 服务器上的文件权限太宽松(~/.ssh 必须是 700,authorized_keys 必须是 600)。
  • 在 Windows 上,管理员账户从 C:\ProgramData\ssh\administrators_authorized_keys 读取密钥,这是 Windows 上最常见的密钥失败原因,见连接 Windows。
  • 服务器不允许这种密钥类型;换成 Ed25519 试试,当前所有 OpenSSH 版本都接受它。

「身份验证失败。请检查密码。」

用户名和密码这一组被拒绝了。在 macOS 上要用账户的简称(也就是个人文件夹的名字); 在 Windows 上试试 MicrosoftAccount\[email protected] 这种写法,或者改用一个本地账户。 如果服务器只接受交互式提示(两步验证、一次性密码),把这台机器的认证方式改成键盘交互。

「连接失败。请检查网络设置。」

那个地址和端口上没有任何响应:

  • SSH 服务没开:开启方法见 macOS 和 Windows 的指引;Linux 上用 systemctl status sshd 查看。
  • 防火墙或安全组挡住了这个端口。
  • 这是一个内网地址(192.168.*、10.*),而你不在那个网络里:可以用 VPN、 在路由器上做端口转发,或者走跳板机。

「主机密钥已更改」

SwiftServer 在首次连接时保存了这台服务器的密钥,而服务器现在给出的是另一把。 如果你重装过系统或轮换过密钥,核对新的 SHA256 指纹之后选替换。如果你什么都没改, 先停下来查清楚:意料之外的主机密钥变化,正是连接被截取时的表现。

仪表板显示「等待信任确认」

有新的主机密钥在等你确认:打开这台机器并信任它;恢复数据或批量导入之后, 也可以用仪表板工具栏里的信任所有新主机。

慢速链路上的超时

设置 → 连接 → 连接超时默认 15 秒,服务器在慢速链路后面或要经过多跳跳板时, 可以调到 300 秒。同一个界面上还有始终信任主机密钥,它会彻底关掉信任确认, 代价是失去这些确认提供的保护。

键盘交互的机器与监控

仪表板状态需要无人值守登录,所以需要交互式提示的机器上它是禁用的。终端和 SFTP 照常可用。

该发什么

失败对话框里的 SSH 诊断文本、这台机器的操作系统,以及测试连接是否成功。 通常这些就是我们需要的全部内容。

本页内容