1

出于某种原因,当我尝试使用 get 或 put 从 Solaris 机器到 IBM 大型机时,ftp 客户端似乎挂起。

我尝试了各种不同的变体(例如,包括使用引号和不使用引号),我得到的只是“200 Port Request OK”。但我再也没有得到提示,最终连接中断。

    ftp> open ibm.some_server
    Connected to ibm.some_server
    230 USER1 is logged on.  Working directory is "USER1.".
    Remote system type is MVS.

    ftp> cd 'Z.TABS.'
    250 "Z.TABS." is the working directory name prefix.

    ftp> get 'SAMASCPY' samas.txt
    200 Port request OK.

有人知道会发生什么吗?

4

1 回答 1

2

您需要启用被动模式。使用 Solaris 10 的 ftp:

ftp> passive
Passive mode on.

最初定义的 FTP 协议使服务器在启动文件传输时打开与客户端的连接。这就是您问题中的 PORT 命令所显示的内容 - 客户端请求服务器连接回特定端口号上的地址。如今,随着无处不在的防火墙和 NAT 穿越,这很少奏效。

启用被动模式会告诉客户端直接连接到服务器,并修复此问题。大多数 ftp 客户端现在默认使用被动模式;Solaris' 没有。

于 2010-05-06T18:36:09.543 回答