📜  iptables 允许 sftp 文件 (1)

📅  最后修改于: 2023-12-03 15:15:52.654000             🧑  作者: Mango

iptables 允许 sftp 文件

在使用 sftp 传输文件时,防火墙可能会阻止传输,这时需要配置 iptables 允许 sftp 文件传输。

以下是配置 iptables 允许 sftp 文件传输的步骤:

  1. 执行以下命令,打开/etc/ssh/sshd_config配置文件:
sudo nano /etc/ssh/sshd_config
  1. 在文件末尾添加以下命令,允许 sftp 文件传输:
Subsystem sftp /usr/lib/openssh/sftp-server

Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no

解释:

  • Subsystem sftp:指定 sftp 传输文件时使用的程序;
  • Match Group sftp:使用与 sftp 相关的组;
  • ChrootDirectory %h:限制用户所能访问的目录;
  • ForceCommand internal-sftp:强制使用 sftp 传输文件;
  • AllowTcpForwarding no:禁止 TCP 转发。
  1. 执行以下命令,重启 ssh 服务:
sudo service ssh restart
  1. 执行以下命令,进入 iptables 配置文件所在目录:
cd /etc/sysconfig/
  1. 执行以下命令,打开 iptables 配置文件:
sudo nano iptables
  1. 在文件末尾添加以下命令,允许 sftp 文件传输:
-A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
-A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

解释:

  • -A INPUT:添加输入规则;
  • -p tcp:指定协议类型为 TCP;
  • --dport 22:指定端口为 22,即 SSH 端口;
  • -m state --state NEW:指定状态为新连接;
  • -m recent --update --seconds 60 --hitcount 4 -j DROP:禁止通过 SSH 连接进行暴力破解;
  • -j DROP:将流量丢弃;
  • -j ACCEPT:允许流量通过。
  1. 执行以下命令,保存配置文件并退出:
sudo service iptables save
sudo service iptables restart

至此,iptables 已成功配置并允许 sftp 文件传输。