我使用 Bash 中的 Emacs。我使用 Cx Cf 通过 FTP 连接到服务器,以处理文件。从我的 OSX (10.6.x),我可以连接到除一台之外的所有服务器。从 Ubuntu,我可以连接到我的所有服务器,仅此而已。我无法从 OSX 连接到的服务器是 Windows Server 2003 SP2 服务器,运行 Filezilla Server 版本 0.9.33 beta。如果我尝试连接到它,emacs 会给我以下信息:
C-x C-f
(backspace to clear ~/)
/ftp:
(Emacs pauses, loads TRAMP)
/ftp:[email protected]:/
RET
(Password prompt)
******
RET
Opening blah...
Something PWD
Warning: Unable to get home directory
Listing /ftp:[email protected]:/ ...
(Emacs times out at this point)
FTP 日志,来自以下内容:
(001851) 5/13/2011 8:47:29 AM - (not logged in) (IP)> Connected, sending welcome message...
(001851) 5/13/2011 8:47:29 AM - (not logged in) (IP)> 220 Welcome to SITE FTP server
(001851) 5/13/2011 8:47:29 AM - (not logged in) (IP)> USER josh
(001851) 5/13/2011 8:47:29 AM - (not logged in) (IP)> 331 Password required for josh
(001851) 5/13/2011 8:47:29 AM - (not logged in) (IP)> PASS ********
(001851) 5/13/2011 8:47:29 AM - josh (IP)> 230 Logged on
(001851) 5/13/2011 8:47:29 AM - josh (IP)> SYST
(001851) 5/13/2011 8:47:29 AM - josh (IP)> 215 UNIX emulated by FileZilla
(001851) 5/13/2011 8:47:29 AM - josh (IP)> FEAT
(001851) 5/13/2011 8:47:29 AM - josh (IP)> 211-Features:
(001851) 5/13/2011 8:47:29 AM - josh (IP)> MDTM
(001851) 5/13/2011 8:47:29 AM - josh (IP)> REST STREAM
(001851) 5/13/2011 8:47:29 AM - josh (IP)> SIZE
(001851) 5/13/2011 8:47:29 AM - josh (IP)> MODE Z
(001851) 5/13/2011 8:47:29 AM - josh (IP)> MLST type*;size*;modify*;
(001851) 5/13/2011 8:47:29 AM - josh (IP)> MLSD
(001851) 5/13/2011 8:47:29 AM - josh (IP)> AUTH SSL
(001851) 5/13/2011 8:47:29 AM - josh (IP)> AUTH TLS
(001851) 5/13/2011 8:47:29 AM - josh (IP)> UTF8
(001851) 5/13/2011 8:47:29 AM - josh (IP)> CLNT
(001851) 5/13/2011 8:47:29 AM - josh (IP)> MFMT
(001851) 5/13/2011 8:47:29 AM - josh (IP)> 211 End
(001851) 5/13/2011 8:47:29 AM - josh (IP)> PWD
(001851) 5/13/2011 8:47:29 AM - josh (IP)> 257 "/" is current directory.
(001851) 5/13/2011 8:47:30 AM - josh (IP)> CWD /
(001851) 5/13/2011 8:47:30 AM - josh (IP)> 250 CWD successful. "/" is current directory.
(001851) 5/13/2011 8:47:30 AM - josh (IP)> PWD
(001851) 5/13/2011 8:47:30 AM - josh (IP)> 257 "/" is current directory.
(001851) 5/13/2011 8:47:31 AM - josh (IP)> EPSV
(001851) 5/13/2011 8:47:31 AM - josh (IP)> 229 Entering Extended Passive Mode (|||4991|)
(001851) 5/13/2011 8:48:45 AM - josh (IP)> EPRT |1|IP|50076|
(001851) 5/13/2011 8:48:45 AM - josh (IP)> 200 Port command successful
(001851) 5/13/2011 8:48:45 AM - josh (IP)> disconnected.
奇怪的是,我可以在 OSX 上使用 FireFTP 或 FileZilla,而且运行正常。但 Emacs / TRAMP / AngeFTP 似乎有点奇怪。此外,我在 Ubuntu 中使用 Emacs 时,共享的 Emacs 配置文件完全相同,来自 Dropbox 文件夹 ( (load "~/Dropbox/Prefs/emacsprefs")
),因此我无法想象设置配置存在差异。
非常感谢大家!
编辑:此外,如果重要的话,OSX 防火墙 ATM 已被禁用,并且 Windows 对 21、22 和 990 有例外。
编辑 2:它将重新运行连接循环,但 FileZilla 日志并不总是以相同的方式结束。在它返回发送欢迎消息之前,以下是几个“结尾”:
(001851) 5/13/2011 8:47:31 AM - josh (IP)> 229 Entering Extended Passive Mode (|||4991|)
(001851) 5/13/2011 8:48:45 AM - josh (IP)> EPRT |1|IP|50076|
(001851) 5/13/2011 8:48:45 AM - josh (IP)> 200 Port command successful
(001851) 5/13/2011 8:48:45 AM - josh (IP)> disconnected.
(001855) 5/13/2011 8:52:37 AM - josh (IP)> EPSV
(001855) 5/13/2011 8:52:37 AM - josh (IP)> 229 Entering Extended Passive Mode (|||1388|)
(001856) 5/13/2011 8:53:53 AM - josh (IP)> EPSV
(001856) 5/13/2011 8:53:53 AM - josh (IP)> 229 Entering Extended Passive Mode (|||1471|)
(001856) 5/13/2011 8:53:55 AM - josh (IP)> disconnected.
(001855) 5/13/2011 8:54:37 AM - josh (IP)> 421 Connection timed out.
(001855) 5/13/2011 8:54:37 AM - josh (IP)> disconnected.
答案1
我不确定,但您是否使用防火墙?(不是电脑上的个人防火墙,而是路由器或代理)
我曾经遇到过这样的情况:我的防火墙路由器无法理解 EPSV/EPRT 命令,因为防火墙有点旧了。MacOSX 默认使用 EPSV/EPRT。为了避免这种情况,只需输入“epsv”即可切换到正常被动模式。有一件事让我很好奇,那就是即使客户端需要被动模式,服务器也会返回“端口命令成功”的状态...