故障排查
连接问题
身份验证失败、主机密钥警告、超时,以及各平台特有的连接问题。
先按机器上的测试连接:它给出的提示会立刻把问题范围缩小。要看得更深, 连接对话框里的事件日志和 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 诊断文本、这台机器的操作系统,以及测试连接是否成功。 通常这些就是我们需要的全部内容。