温馨提示×

linux filezilla怎样用密钥

小樊
48
2026-10-06 15:35:45
栏目: 智能运维

在 Linux 下使用 FileZilla 通过密钥(SSH 私钥)登录 SFTP/SSH 服务器,步骤如下:


一、准备密钥

1. 如果你已经有私钥(如 id_rsa 或 id_ed25519)

确保:

  • 私钥权限正确(非常重要):
chmod 600 ~/.ssh/id_rsa

2. 如果没有密钥,先生成

ssh-keygen -t ed25519
# 或
ssh-keygen -t rsa -b 4096

生成后:

  • 私钥:~/.ssh/id_ed25519
  • 公钥:~/.ssh/id_ed25519.pub

把 公钥 传到服务器:

ssh-copy-id user@server_ip

二、FileZilla 使用密钥登录

方法一:使用 Site Manager(推荐)

  1. 打开 FileZilla
  2. 菜单:文件 → 站点管理器(Site Manager)
  3. 新建站点
  4. 协议选择:
    SFTP – SSH File Transfer Protocol
    
  5. 主机:服务器 IP 或域名
  6. 登录类型:
    Key file
    
  7. 用户:服务器用户名
  8. 密钥文件:
    • 点击「浏览」
    • 选择你的私钥(如 ~/.ssh/id_ed25519)
  9. 点击「连接」

✅ 如果私钥有密码(passphrase),会弹出输入密码框


方法二:使用 ssh-agent(更方便)

1. 启动 ssh-agent

eval $(ssh-agent)

2. 添加私钥

ssh-add ~/.ssh/id_ed25519

3. FileZilla 设置

  • 站点管理器 → 登录类型:Interactive
  • 或 Normal
  • 不指定密钥文件

FileZilla 会自动使用 ssh-agent 中的密钥


三、常见问题

❌ 权限错误(常见)

错误示例:

Error: Unable to use key file

解决:

chmod 600 ~/.ssh/id_*
chmod 700 ~/.ssh

❌ FileZilla 不支持 ppk 以外格式?

  • Linux 版 FileZilla 支持 OpenSSH 格式私钥
  • Windows 的 .ppk 需要用 PuTTY 转换

❌ 服务器只支持密码?

那就不能使用密钥登录,需要修改服务器:

sudo nano /etc/ssh/sshd_config

确保:

PubkeyAuthentication yes

然后:

sudo systemctl restart ssh

四、测试连接(命令行验证)

sftp -i ~/.ssh/id_ed25519 user@server_ip

如果你愿意,可以告诉我:

  • 你是 Ubuntu / CentOS / Debian?
  • 私钥是 rsa / ed25519 / ppk?
  • 报错信息是什么?

我可以给你更精确的配置方法。

0 踩