我们部门正在部署卡巴斯基反病毒软件。由于安装在我的 Windows 7 工作站上,主动 FTP 被自动禁用。
我修改了 _vimrc 如下:
let g:netrw_cygwin = 0
let g:netrw_scp_cmd =
"\"C:\\Windows\\system32\\ftp.exe -s:C:\\Users\\Cnorton.Arlington1\\vim_ftp.txt "
vim_ftp.txt 包含以下内容:
quote PASV
此后,我仍然收到此错误:
PORT/EPRT (Active Mode/Extended Active Mode) is not supported. Use PASV/EPSV instead of this
我该如何配置 ftp 以使用被动,这样我就不会收到此错误?
顺便说一句,我有版本 7 vim (gvim),但这是测试版,运行在 CentOS 上。该系统与我试图从 Windows 系统访问的远程系统相同。该系统上的 ftp 命令完成时没有错误。我不知道是不是因为它是同一主机上的 ftp 命令。
编辑:
好的。我明白不要使用默认的 Windows ftp.exe。因此,这就是我尝试配置 VanDyke 的 SecureFx 命令行版本(称为 sfxcl)的方式:
我使用 sfxcl 做了一个修改,
let g:netrw_cygwin = 0
let g:netrw_scp_cmd = "\"C:\\Program Files\\VanDyke Software\\Clients\\sfxcl.exe\" "
它在命令行上可以工作,但在 Vim 中不行。我收到了相同的活动消息,所以我相信我在 Vim 中搞砸了一些东西。我就是搞不清楚那是什么。
答案1
Windows FTP 命令行客户端 ( ftp.exe
) 在任何版本的 Windows 上都不支持被动模式。由于无处不在的防火墙和 NAT,它现在变得毫无用处。
使用quote pasv
不会有帮助。它只会切换服务器进入被动模式,但不是客户端。
请使用任何其他 Windows FTP 命令行客户端。大多数其他客户端都支持被动模式。
例如,WinSCP 默认为被动模式,并且有一个可用于转换的指南Windows FTP 脚本到 WinSCP 脚本。
如果您向我们展示其内容,我们可以帮助您vim_ftp.txt
。
(我是 WinSCP 的作者)