首页 > 解决方案 > 尝试镜像文件夹时出现 Lftp 550 错误。FileZilla 没问题

问题描述

我制作了这个脚本来使用隐式 SSL 下载远程 FTP 中的文件夹:

open -d ftps://USER:"PASS"@ftp.xxx.tld:990
mirror --verbose --continue /remote/folder $HOME/destination/folder;
bye

它连接,特点是:

<--- 220-Microsoft FTP Service
<--- 220 FTP SOMECOMPANY
---> FEAT
<--- 211-Extended features supported:
<---  LANG EN*
<---  UTF8
<---  AUTH TLS;TLS-C;SSL;TLS-P;
<---  PBSZ
<---  PROT C;P;
<---  CCC
<---  HOST
<---  SIZE
<---  MDTM
<---  REST STREAM
<--- 211 END

但是当镜像命令尝试做它的事情时,它会得到:

<--- 257 "/" is current directory.      
---> PBSZ 0
---- CWD path to be sent is `/remote/folder'
<--- 200 PBSZ command successful.
---> CWD remote
<--- 550 Access is denied. 
mirror: Access failed: 550 Access is denied.  (/remote/folder)
---> CWD folder
<--- 550 The system cannot find the file specified. 
---> QUIT

例如,当我手动连接时,lftp我确实具有 ls 访问权限,但无法更改目录,同样的错误,550。

在 FileZila 上它运行良好,我确实可以访问该文件夹并可以下载文件。我在这里很困惑。已经尝试过一些神秘的事情,例如使用:

lftp -e "set ftp:use-allo false; set ftp:passive-mode true; set ftp:prefer-epsv false;...

无济于事。有小费吗?谢谢!

标签: ftpftpslftp

解决方案


您可能必须在此处使用“set ftp:use-tvfs yes”强制 TVFS。即使服务器忘记宣布它们的支持,它也会启用类 Unix 路径。


推荐阅读