ubuntu

ubuntu sftp如何配置防火墙

小樊
38
2025-03-13 03:44:22
栏目: 智能运维

在Ubuntu系统中,配置防火墙以允许SFTP连接通常涉及使用ufw(Uncomplicated Firewall)或iptables。以下是使用这两种方法的步骤:

使用 ufw 配置防火墙

  1. 启用 ufw: 如果你还没有启用 ufw,可以使用以下命令启用它:

    sudo ufw enable
    
  2. 允许SSH连接: SFTP依赖于SSH,因此你需要确保SSH端口(默认是22)是开放的。使用以下命令允许SSH连接:

    sudo ufw allow 22/tcp
    
  3. 允许SFTP连接: 默认情况下,允许SSH连接也会允许SFTP连接,因为SFTP是通过SSH协议运行的。如果你需要更细粒度的控制,可以单独允许SFTP子系统。编辑SSH配置文件 /etc/ssh/sshd_config

    sudo nano /etc/ssh/sshd_config
    

    确保以下行没有被注释掉:

    Subsystem sftp /usr/lib/openssh/sftp-server
    

    保存并退出编辑器,然后重启SSH服务:

    sudo systemctl restart sshd
    
  4. 重新加载 ufw 规则

    sudo ufw reload
    
  5. 检查防火墙状态: 确认规则已经生效:

    sudo ufw status
    

使用 iptables 配置防火墙

  1. 允许SSH连接: 使用以下命令允许SSH连接:

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
  2. 允许SFTP连接: 默认情况下,允许SSH连接也会允许SFTP连接。如果你需要更细粒度的控制,可以单独允许SFTP子系统。编辑SSH配置文件 /etc/ssh/sshd_config

    sudo nano /etc/ssh/sshd_config
    

    确保以下行没有被注释掉:

    Subsystem sftp /usr/lib/openssh/sftp-server
    

    保存并退出编辑器,然后重启SSH服务:

    sudo systemctl restart sshd
    
  3. 保存 iptables 规则: 为了确保重启后规则仍然有效,你可以使用 iptables-persistent 工具保存规则:

    sudo apt-get install iptables-persistent
    sudo netfilter-persistent save
    sudo netfilter-persistent reload
    
  4. 检查防火墙状态: 确认规则已经生效:

    sudo iptables -L -v
    

通过以上步骤,你应该能够在Ubuntu系统上成功配置防火墙以允许SFTP连接。

0
看了该问题的人还看了