温馨提示×

centos sftp配置需要防火墙开放吗

小樊
32
2025-12-09 15:25:20
栏目: 智能运维

CentOS SFTP 与防火墙

需要。SFTP 基于 SSH,使用 22/TCP。若使用 firewalld,放行 SSH 服务(或端口 22/TCP)后,SFTP 即可正常使用;若未放行,客户端会连接超时或被拒绝。示例:sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload。也可直接放行端口:sudo firewall-cmd --permanent --add-port=22/tcp && sudo firewall-cmd --reload。

快速配置步骤

  • 安装并启动服务:sudo yum install -y openssh-server && sudo systemctl start sshd && sudo systemctl enable sshd。
  • 放行防火墙:sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload;验证:sudo firewall-cmd --list-all(应看到 services: ssh 或 ports: 22/tcp)。
  • 连接测试:sftp your_user@your_server_ip。
    以上适用于 CentOS 7+ 的 firewalld 场景。

自定义端口与 SELinux

  • 修改端口:编辑 /etc/ssh/sshd_config,添加或改为 Port 2222(示例)。
  • 放行新端口:sudo firewall-cmd --permanent --add-port=2222/tcp && sudo firewall-cmd --reload。
  • 若启用 SELinux,放行端口:sudo semanage port -a -t ssh_port_t -p tcp 2222。
  • 重启服务:sudo systemctl restart sshd;连接测试:sftp -P 2222 your_user@your_server_ip。

常见排查要点

  • 服务状态:sudo systemctl status sshd(确保 active/running)。
  • 防火墙规则:sudo firewall-cmd --list-all(确认 ssh 或 22/TCP 已放行)。
  • 配置与权限:检查 /etc/ssh/sshd_config 的 Subsystem 与 Match 段;Chroot 目录属主应为 root:root、权限 755
  • 日志定位:/var/log/secure 或 /var/log/auth.log 查看握手、认证、权限拒绝等具体错误。
  • 安全建议:限制可访问 IP、启用密钥登录、禁用 root 登录(如将 PermitRootLogin 设为 no)。

0