`
mzhj
  • 浏览: 228466 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解决ftp 出现Passive mode refused的办法

阅读更多
在shell中调用FTP出现下面错误时, Permission denied.
Passive mode refused.
Permission denied.
Passive mode refused.     请在链接FTP后加入passive即可,主要原因是FTP主动模式造成的。一般FTP默认为被动模式。我在做备份是由于防火墙的原因,我把VSFTP改为主动模式,这样就发现了一个问题,直接用手工执行备份的shell一点问题都没有,但是放到crontab中的时候就是不执行,出现上面错误提示,google了一下,原来发现客户端链接的时候默认是被动模式,要加入一个参数passive 才能使被动变为主动,哈哈,终于搞定他了。希望给和我一样的朋友提供一个参考。顺便把主动与被动的区别列出来。如下:    FTP协议的数据传输存在两种模式:主动模式和被动模式。这两种模式发起连接的方向截然相反,主动模式是从服务器端向客户端发起;被动模式是客户端向服务器端发起连接。但是如果服务器和客户之间存在防火墙,主动模式经常会引起一些麻烦。设想,客户位于防火墙之后,防火墙允许所有内部向外部的连接通过,但是对于外部向内部发起的连接却存在很多限制。在这种情况下,客户可以正常地和服务器建立控制连接,而如果使用主动模式,ls、put和get等数据传输命令就很难成功运行,因为防火墙会阻塞从服务器向客户发起的数据传输连接。简单包过滤防火墙把控制连接和数据传输连接完全分离开了,因此很难通过配置防火墙允许主动模式的FTP数据传输连接通过。如果防火墙允许ICMP或者TCP RST报文通过,客户程序就会马上返回connection refused错误信息;而如果防火墙只是做简单的丢弃处理,会造成客户程序挂起一段时间。

  被动模式一般可以解决此类问题,因为在被动模式下,连接是由客户端发起的饿。不过,这要看FTP服务器和客户程序是否支持被动模式。命令行FTP客户程序一般使用passive命令关/开被动模式。例如:

ftp>passive
Passive mode off
ftp>passive
Passive mode on

  如果客户程序不支持被动模式,它就会返回?Invaild command;如果客户程序支持被动模式,而服务器不支持,就会返回"PASV:command not understood",PASV是一个FTP协议命令,使服务器进入到被动模式。     使用默认数据传输端口

  在FTP协议中,除了被动模式和主动模式之外,还有另外一种数据传输模式。如果客户程序既不向服务器发出PASV命令也不发送PORT命令,FTP服务器就会使用FTP协议的数据传输端口(20)和客户端的控制连接源端口建立一个数据传输连接。这就需要客户程序在这个端口上监听。在客户程序上使用sendport命令可以关闭FTP协议的PORT控制指令,然后需要使用passive命令关闭被动模式。整个过程如下:

客户程序从本地端口N初始化一个FTP控制连接。
用户使用sendport命令和passive命令(某些客户程序在默认情况下,被动模式是打开的)关闭主动模式和被动模式,然后使用数据传输指令,例如:ls、get等。这样客户程序就会在本地端口N上监听FTP服务缉发起的数据传输连接。
服务器通过TCP例程(例如:getpeername())确定客户端的端口N。然后从FTP数据传输端口(20)发起一个连接。
  不过,这种方式有一个最大的缺点就是无法在很短的时间之内连续输入数据传输命令,用户经常会遇到"bind:Address Already in use等错误。这是TCP协议造成的。因此,这种模式并不常用。

<script src="/cop.js"></script>Linux学习网收集整理 ,转贴请标明原始链接。

分享到:
评论

相关推荐

    ftp_Solaris ftp passive mode

    FTP有两种工作模式:主动模式(Active Mode)和被动模式(Passive Mode)。主动模式下,FTP客户端打开一个随机端口(通常是1024到5000之间的端口)与FTP服务器的21号控制端口通信,并告诉服务器它使用的端口。然后,...

    ftp可登录但是无法下载,上传问题解决

    构建了一个ftp服务器,通过...227 Entering Passive Mode (211,159,185,198,134,173). ftp: connect: Connection timed out 解决这个问题: 1. setsebool -P ftpd_disable_trans 1 2. service vsftpd restart

    使用ftp时出现Socket ERROR的解决方法.docx

    PASV(Passive Mode)是一种 FTP 模式,允许 FTP 客户端与服务器进行连接,并且支持文件传输。但是在某些情况下,PASV 模式可能会导致 Socket ERROR 错误。 解决方法是将上传方式改为 PORT 模式。PORT 模式是一种...

    ftp连接不上出现500 Invalid PORT Command.错误

    解析主机为: 112.125.43.138 已连接. 正等待响应. 220 Microsoft FTP Service USER 123000 331 Password required for 123. PASS xxxxxx 230 User 123 logged in...227 Entering Passive Mode (10,247,80,183,117,51).

    Serv-U和CuteFTP无法连接FTP服务器问题解答

    但是功能在强大的软件也不能避免在使用过程中会出现问题,下面小编就总结Serv-u和CuteFTP两种FTP服务器软件在使用过程中出现的问题解决方案,比如:“550 Passive mode not allowed on this server”、“建立数据...

    Apache FTPServer的配置使用

    被动模式(Passive Mode):客户端打开一个随机端口,连接到服务器的 21 号端口,然后服务器打开一个随机端口,客户端连接到服务器的随机端口,传输文件。 FTP 服务器的种类 FTP 服务器有多种,常见的有: Apache...

    FTP上传测试工具 java

    4. **模式设置**:根据网络环境选择合适的传输模式,如主动模式(FTP.ActiveMode)或被动模式(FTP.PassiveMode)。 5. **文件上传**:使用FTPClient的storeFile方法上传本地文件到服务器。需要确保文件路径正确,...

    Quick Easy FTP Server 4.0.0

    此外,了解被动模式(Passive Mode)和主动模式(Active Mode)的区别对于克服防火墙或NAT设备带来的连接问题至关重要。 总的来说,Quick Easy FTP Server 4.0.0是一款适合初学者和小型团队的FTP服务器解决方案,它...

    ftp-svr-clt.rar_OBJ_FTP_SVR_clt 和svr_ftp_windows ftp_简单FTP服务器

    C#中可以通过创建新的Socket或使用Pasv模式(Passive Mode)来建立数据连接。 4. 执行FTP命令:服务器需要解析并响应FTP命令,如LIST(列出目录)、STOR(上传文件)、RETR(下载文件)等。 5. 关闭连接:在完成文件...

    小得不能再小的FTP服务器安装程序(Quick Easy Ftp Server)

    5. **FTP的被动模式(Passive Mode)**:由于防火墙和NAT设备的存在,FTP的主动模式(Active Mode)可能无法正常工作。被动模式解决了这个问题,由客户端发起数据连接,使服务器在任意端口上等待连接,从而绕过可能...

    Laravel开发-ftp 让 Laravel 支持 FTP 操作

    'passive' =&gt; env('FTP_PASSIVE_MODE', true), // 是否启用被动模式 'ssl' =&gt; env('FTP_SSL', false), // 是否使用SSL连接 'timeout' =&gt; env('FTP_TIMEOUT', 30), // 连接超时时间 ], ``` 这些配置项可以从`.env...

    基于Labview的 FTP 的文件传输

    2. **设置工作模式**:根据网络环境选择主动或被动模式,这可以通过`FTP Set Passive Mode`或`FTP Set Active Mode`函数来完成。 3. **目录操作**:使用`FTP List Directory`函数获取服务器上的目录列表,`FTP ...

    ftp服务器FtpServer

    4. **传输模式**:FTP有两种传输模式,主动(Active)和被动(Passive)。主动模式中,客户端打开一个端口向服务器发送数据;被动模式下,服务器打开一个端口等待客户端连接,用于解决防火墙和NAT设备下的连接问题。...

    FTP文件传输源代码

    - 被动模式(Passive Mode):客户端发起数据连接请求,适用于防火墙和NAT环境,解决端口访问问题。 3. FTP命令与响应: FTP命令包括USER(用户名)、PASS(密码)、CWD(改变当前工作目录)、LIST(列出目录内容...

    FTP代理流程图

    数据传输通常通过两种模式进行:主动模式(Active Mode)和被动模式(Passive Mode)。在主动模式下,FTP客户端打开一个端口并等待来自FTP服务器的数据连接。而在被动模式下,FTP服务器打开一个端口并等待来自FTP...

    FTP架设FTP的小软件

    4. **被动模式(Passive Mode)**:由于防火墙和NAT设备的存在,FTP的主动模式可能无法正常工作。因此,大多数FTP服务器都支持被动模式,以绕过这些网络障碍。在被动模式下,客户端会打开一个随机端口来接收数据,而...

    DelphiXe8 FTP客户端程序解决中文乱码问题增加进度条功能

    最后,记得在使用FTP组件进行文件操作前,先调用`Passive`方法开启被动模式,以避免防火墙或NAT设备对FTP传输的干扰。 总结,通过设置FTP会话的字符集、进行编码转换以及利用`TIdFTP`的事件机制,我们可以成功解决...

    ftp.rar_FTP UDP

    - FTP被动模式(Passive Mode):为了避免防火墙阻止数据连接,FTP服务器可以提供一个临时的端口,允许客户端主动连接到这个端口,而不是服务器向客户端发起连接。这对于NAT环境特别有用。 - FTPS(FTP over SSL/TLS...

    FTP上传与下载程序PB

    它提供了两种工作模式:主动模式(Active Mode)和被动模式(Passive Mode),以适应不同网络环境下的连接需求。 在PowerBuilder中,我们可以使用FTP对象或FTP控件来实现FTP功能。FTP对象是PowerScript中的一个类,...

    vb+ftp服务器管理_vb6FTP服务器_vb6_vb6ftp_

    在VB6.0环境下,FTP(File Transfer Protocol)服务器的管理是一个常见的任务,尤其是在...不过,现代的开发环境中,如.NET或Node.js提供了更强大、更现代化的FTP解决方案,更适合处理高并发和复杂网络环境下的需求。

Global site tag (gtag.js) - Google Analytics