尝试镜像文件夹时出现Lftp 550错误。 FileZilla还可以

时间:2020-05-12 19:37:10

标签: ftp ftps lftp

我制作了此脚本,以使用隐式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

但是当mirror命令尝试执行其操作时,它将得到:

<--- 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;...

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

由于ftp服务器托管在Windows环境中,因此我不得不使用\代替/来定义路径。