跳到主要内容

修复 SFTP 公钥认证错误 — 使用 RcloneView 解决 SSH 问题

· 阅读需 6 分钟
Tayson
Senior Engineer

SFTP 公钥认证失败几乎总是由密钥路径、文件权限或密码短语不匹配导致 —— 本指南将系统地逐一介绍每种情况。

SFTP 是在 RcloneView 中连接远程 Linux 服务器最常见的方式之一,而公钥认证是相较于密码更受推荐的安全方式。当密钥认证失败时,错误信息可能令人费解:ssh: handshake failedpermission denied (publickey)no supported methods remain。本指南将介绍最常见的原因,以及如何诊断和修复每一种问题。

RcloneView 应用预览

在一个地方管理和同步所有云端

RcloneView 是 rclone 的跨平台 GUI。通过清爽的可视化界面比较文件夹、传输或同步文件,并自动化多云工作流。

  • 一键作业:复制 · 同步 · 比较
  • 调度器与历史记录,实现可靠的自动化
  • 支持 Google Drive、OneDrive、Dropbox、S3、WebDAV、SFTP 等
WindowsmacOSLinux
免费开始使用 →

核心功能免费。Plus 提供自动化功能。

RcloneView 中的 SFTP 远程配置

在 RcloneView 中创建 SFTP 远程时,与基于密钥的认证相关的字段包括:

  • Host:服务器主机名或 IP
  • User:SSH 用户名
  • Key file:私钥文件的路径(例如 ~/.ssh/id_rsaC:\Users\you\.ssh\id_ed25519)
  • Key file passphrase:解密密钥的密码短语(如果已设置)

对于每个远程,密码认证和密钥认证是互斥的。如果指定了密钥文件,请将密码字段留空。

SFTP remote configuration with key auth in RcloneView

常见错误 1:密钥文件路径错误

密钥认证失败最常见的原因是密钥文件路径错误或无法访问。请检查:

  • 该路径是否存在,并指向私钥(而非 .pub 公钥)
  • 在 Windows 上,请使用完整的绝对路径(例如 C:\Users\username\.ssh\id_rsa)
  • 在 Linux/macOS 上,~/.ssh/id_rsa 会被正确展开 —— 如有疑问,请使用完整路径

在 RcloneView 中,打开 SFTP 远程设置并验证密钥文件路径。如果该位置不存在此文件,认证将静默失败或返回无用的错误信息。

常见错误 2:密钥文件权限过于开放

在 Linux 和 macOS 上,如果私钥文件对所有用户可读,SSH 会拒绝使用该文件。如果密钥文件权限过于宽松,你会看到 Permissions 0644 for '~/.ssh/id_rsa' are too open。修复方法:

chmod 600 ~/.ssh/id_rsa
chmod 700 ~/.ssh

在 Windows 上,密钥文件权限通过文件安全设置进行管理。请确保密钥文件仅对你的用户账户可访问,而不与 Everyone 共享。

Running an SFTP connection test in RcloneView

常见错误 3:密码短语不匹配

如果你的私钥受密码短语保护,RcloneView SFTP 远程设置中的密码短语字段必须与之完全匹配。如果密钥设置了密码短语,而该字段留空,认证将失败。反之,如果为没有密码短语的密钥输入了密码短语,同样会导致失败。

要测试密钥密码短语是否正确,可以打开终端并运行 ssh -i /path/to/key user@host —— 如果它提示输入密码短语并接受该输入,说明凭据是正确的。然后据此更新 RcloneView 中的远程配置。

常见错误 4:密钥格式不受支持

较旧的 OpenSSH 私钥(PEM 格式)得到广泛支持,但一些采用 OpenSSH 原生格式的较新 ED25519 密钥,可能会因 rclone 内嵌的 Go SSH 库版本不同而出现问题。如果你遇到 ssh: no supported methods remain:

  • 将密钥转换为 PEM 格式:ssh-keygen -p -m PEM -f ~/.ssh/id_ed25519
  • 或者生成一个 RSA 密钥:ssh-keygen -t rsa -b 4096

阅读日志以进行诊断

在 SFTP 连接尝试失败后,打开 RcloneView 中的 Log 标签页。日志会显示完整的 SSH 握手错误。如需更详细的信息,可以使用 RcloneView 中的 Terminal 标签页,直接运行带有 -vv 标志的 rclone 命令,这会打印出完整的 SSH 协商过程。

Reviewing SFTP connection errors in RcloneView logs

快速上手

  1. rcloneview.com 下载 RcloneView
  2. 打开你的 SFTP 远程设置,并验证密钥文件路径是否指向正确的私钥。
  3. 在 Linux/macOS 上,使用 ls -la ~/.ssh/ 检查密钥文件权限,并使用 chmod 600 进行修复。
  4. 确认密码短语字段与密钥的密码短语一致,然后在 Remote Manager 中测试连接。

对路径、权限和密码短语进行系统性检查,可以解决绝大多数 SFTP 公钥认证失败问题。


相关指南:

支持的云服务商

Local Files
WebDAV
FTP
SFTP
HTTP
SMB / CIFS
Google Drive
Google Photos
Google Cloud Storage
OneDrive
Dropbox
Box
MS Azure Blob
MS File Storage
S3 Compatible
Amazon S3
pCloud
Wasabi
Mega
Backblaze B2
Cloudflare R2
Alibaba OSS
Ceph
Swift (OpenStack)
IBM Cloud Object Storage
Oracle Cloud Object Storage
IDrive e2
MinIO
Storj
DigitalOcean Spaces