FileZilla SFTP 密钥连接 — SSH密钥认证配置教程
与密码认证相比,SSH 密钥认证有以下优势:
使用 SSH 密钥认证比密码更安全高效。FileZilla Client 作为免费开源的 FTP 软件,完整支持通过 SSH 密钥进行 SFTP 连接。本教程详细介绍在 FileZilla 中配置和使用 SSH 密钥的完整流程。
为什么使用 SSH 密钥认证
与密码认证相比,SSH 密钥认证有以下优势:
| 对比维度 | 密码认证 | SSH密钥认证 |
| 安全性 | 可能被暴力破解 | 几乎不可能被破解(2048位+ RSA) |
| 自动化 | 需要交互输入 | 可静默认证 |
| 多服务器管理 | 多个密码难管理 | 同一密钥可部署多台服务器 |
| 防钓鱼 | 密码可能被截获 | 私钥从不离开本地 |
准备工作
在开始之前,你需要:
- 已经生成 SSH 密钥对(私钥 + 公钥)
- 公钥已部署到目标服务器
- 如果使用 PuTTY 生成的密钥,确保是 .ppk 格式
如果你还没有生成 SSH 密钥,请参考 SSH 密钥配置教程 了解详细的生成步骤。
在 FileZilla 中配置 SSH 密钥
第一步:打开站点管理器
启动 FileZilla,点击工具栏最左侧的"站点管理器"按钮,或使用快捷键 Ctrl+S。
第二步:新建或编辑站点
- 新建站点:点击"新站点"按钮,输入站点名称
- 编辑已有站点:在左侧列表中选择站点
第三步:配置连接参数
在右侧"常规"标签页中设置:
| 参数 | 设置值 |
| 协议 | SFTP - SSH File Transfer Protocol |
| 主机 | 服务器 IP 地址或域名 |
| 端口 | 22(SFTP 默认端口) |
| 登录类型 | 密钥文件 |
| 用户 | 你的 SSH 用户名 |
| 密钥文件 | 点击"浏览"选择私钥文件 |
第四步:选择密钥文件
点击"密钥文件"旁边的"浏览"按钮:
- PuTTY 密钥(.ppk):直接选择 .ppk 文件即可,FileZilla 原生支持。
- OpenSSH 密钥(id_rsa):FileZilla 支持 OpenSSH 格式的私钥。如果你的密钥有密码保护,连接时会弹出密码输入框。
- 其他格式:如果密钥不是 .ppk 或 OpenSSH 格式,需要用 PuTTYgen 转换成 .ppk 格式。
第五步:测试连接
- 点击"确定"保存站点配置
- 在站点管理器中选择该站点,点击"连接"
- 如果密钥有密码保护(passphrase),会弹出对话框要求输入
- 查看顶部日志区,确认显示"Authentication succeeded"(认证成功)
密钥密码保护
如果你的私钥设置了密码保护,FileZilla 会在每次连接时提示输入。FileZilla 不会保存私钥的密码,这是出于安全考虑。如果你希望免密码连接,可以:
- 生成无密码保护的密钥(安全性降低,仅限内网使用)
- 使用 Pageant(PuTTY 的 SSH 认证代理)在后台缓存私钥密码
多站点管理
如果你管理多台服务器,建议为每台服务器使用不同的密钥对。在 FileZilla 的站点管理器中,每个站点可以配置独立的密钥文件。
组织建议
- 在站点管理器中创建文件夹分组(如"生产环境"、"测试环境")
- 将对应的站点和密钥配置放入相应分组
- 定期导出站点管理器配置作为备份
故障排查
连接时提示"Unable to use key file"
说明密钥格式不被 FileZilla 支持。解决方法:
- 用 PuTTYgen 打开原密钥文件
- 点击"Save private key"保存为 .ppk 格式
- 在 FileZilla 中重新选择新的 .ppk 文件
连接后立即断开
可能原因:
- 服务器不允许密钥认证(检查 sshd_config 中的 PubkeyAuthentication)
- 公钥未正确部署到服务器
- 私钥权限太开放(Linux 下需 chmod 600)
提示"Server refused our key"
说明服务器收到了密钥但拒绝认证。检查:
- 公钥内容是否正确写入 `~/.ssh/authorized_keys`
- `authorized_keys` 文件权限是否为 600
- `.ssh` 目录权限是否为 700
免费下载 FileZilla
安全、免费、无广告的FTP客户端
免费下载