当我尝试使用 SFTP 连接时,为什么会收到“列出远程文件夹失败”错误?

当我尝试使用 SFTP 连接时,为什么会收到“列出远程文件夹失败”错误?

我设置了 SFTP,但我遇到了有关 iptables 的问题。这是我的规则:

A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

顺便说一句,我正在使用vsftpdFTP 服务。因此,在停止 iptables 服务之前,它不会连接到 FTP。当我尝试连接到 FTP 时,出现“列出远程文件夹失败”错误。

我应该怎么办?

答案1

SFTP 和 FTP 不是一回事。

如果您真正指的是 SFTP,那么这是一种基于 SSH 的传输,仅通过端口 22 进行(除非您将 SSH 守护程序配置为侦听另一个端口)。

FTP 是一种古老的文件传输协议,在端口 21 和 21(也可能是其他端口)上运行。防火墙需要进行连接状态跟踪才能正确支持它。确保您已nf_conntrack_ftp加载 netfilter ftp 连接跟踪模块 ( )。

pasv_min_port您可以通过和pasv_max_port选项在 vsftp 中配置“被动模式”FTP 的最小/最大端口vsftpd.conf:您能否将范围缩小到少量端口(也许是一个端口)并在防火墙中打开它们?

您确定防火墙有问题吗?如果暂时禁用它,还能正常工作吗?

相关内容