温馨提示×

如何在CentOS上配置FileZilla的SFTP

小樊
45
2025-12-25 05:35:17
栏目: 智能运维

在 CentOS 上配置 FileZilla 的 SFTP 使用

一 概念与准备

  • SFTP 基于 SSH,使用 22 端口,依赖 sshd 服务;无需额外安装 FTP 服务。若系统做过安全加固,可能禁止 root 通过 SFTP 登录,需使用具备权限的普通用户。为提升安全性,建议使用 SSH 密钥 登录而非密码。若是云服务器,还需在控制台放行 22 端口(安全组/防火墙)。

二 服务器端快速配置(启用 SFTP)

  • 确认 SSH 服务已运行并开机自启:
    • 检查状态:systemctl status sshd
    • 启动/自启:systemctl start sshd && systemctl enable sshd
  • (可选,推荐)使用密钥登录:
    • 客户端生成密钥对(如 PuTTYgen),将公钥(常见为 id_rsa.pub)追加到服务器对应用户的 ~/.ssh/authorized_keys,并设置权限:
      • chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
  • (可选,更安全的隔离)限制用户仅 SFTP 并禁 SSH 登录:
    • 编辑 /etc/ssh/sshd_config,在文件末尾添加(按需替换用户名与目录):
      Match User sftpuser
          ChrootDirectory /sftp/%u
          ForceCommand internal-sftp
          X11Forwarding no
          AllowTcpForwarding no
          PasswordAuthentication yes
      
    • 创建目录与授权(示例):
      • mkdir -p /sftp/sftpuser/upload
      • chown sftpuser:sftpuser /sftp/sftpuser/upload
      • chmod 750 /sftp/sftpuser/upload
      • 注意:ChrootDirectory 路径及其上级目录必须 root 所有且权限为 755,否则会连接失败。
  • 重启 SSH 生效:systemctl restart sshd
  • 防火墙放行(firewalld):firewall-cmd --permanent --add-port=22/tcp && firewall-cmd --reload

三 客户端 FileZilla 连接步骤

  • 安装 FileZilla Client(Windows/macOS/Linux 均可),打开后进入 文件 > 站点管理器 > 新站点,按如下填写:
    • 主机:服务器 IP
    • 端口:22
    • 协议:SFTP - SSH File Transfer Protocol
    • 登录类型:正常(或“密钥文件”)
    • 用户/密码:输入服务器系统用户名与密码;若使用密钥,在“密钥文件”选择私钥(如 id_rsa
  • 首次连接会弹出主机密钥确认,勾选“总是信任该主机,并将该密钥加入缓存”,确认保存。
  • 连接成功后,左右分栏分别为本地与远程目录,拖拽即可上传/下载。

四 常见问题与排查

  • 连接被拒绝或超时:确认 sshd 运行22 端口已在防火墙放行、云服务器安全组已允许入站 22/TCP
  • “Network error: Software caused connection abort”:多与 ChrootDirectory 权限有关。确保 chroot 路径及其上级目录为 root:root 且 755,可写目录放在 chroot 内再单独授权给相应用户(如 750/775)。
  • 权限不足:目标目录需对登录用户具备相应 读/写/执行 权限;必要时用 chown/chmod 调整。
  • root 无法登录:部分安全策略默认禁止 root 的 SFTP 登录,改用具备权限的普通用户或调整安全策略后再试。

五 安全与最佳实践

  • 优先使用 SSH 密钥(禁用密码或设置复杂度策略),并妥善保管私钥。
  • 避免使用 root 直连 SFTP,按业务创建最小权限的专用用户,必要时用 Chroot 限制可见目录。
  • 仅开放必要端口(如 22/TCP),并定期更新系统与 SSH 组件;对关键目录设置合理 umask/权限(如 750/755/775)。

0