我有redhat linux Azure VM服务器,我试图从其他Windows Azure VM上托管的FTP服务器获取目录列表。我可以使用我的本地机器和filezilla通过FTP连接并获取目录列表,但是在使用ls命令时,我通过redhat linux azure VM服务器获得了主动和被动连接的错误。
有效连接错误: ftp:accept:资源暂时不可用 425无法打开数据连接以传输“/” 226 ABOR命令成功
被动错误 227进入被动模式(10,1,0,10,160,87) ftp:connect:连接超时
它看起来更像是防火墙问题,但我需要改变什么样的设置。我还在我的入站规则中添加了FTP端口21和数据连接端口20。
在我的firewalld规则中列出了FTP服务。甚至还添加了所有被动连接端口。我也禁用了firewalld然后尝试但没有成功。
我需要从我的PHP页面访问此FTP以获取在FTP文件夹上上传的所有文件。
由于
答案 0 :(得分:-1)
根据你的问题,我做了一个测试并取得了成功。我的FTP服务器是Azure Linux VM。我的客户端是本地Windows机器。主要步骤如下:
1.在Linux VM上安装vsftp。
sudo apt-get install vsftpd
2.编辑vsftp配置文件。
sudo vi /etc/vsftpd.conf
3.添加这些配置。(我选择3000和3001端口作为数据传输端口,地址是您的VM的公共IP)
pasv_enable=YES
pasv_min_port=3000
pasv_max_port=3001
pasv_addr_resolve=YES
4.重新启动服务。
sudo service vsftpd restart
5.转到Azure门户并添加NSG入站规则,打开20,21和数据传输端口。
6.使用cmd进行测试。