Lftp 550错误,当试图镜像一个文件夹。FileZilla是确定的

问题描述 投票:0回答:1

我做了这个脚本,在远程FTP中下载一个文件夹,隐含SSL。

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

没用 有什么提示吗?谢谢!我做了这个脚本来下载一个文件夹。

ftp ftps lftp
1个回答
1
投票

你可能需要通过 "set ftp:use-tvfs yes "来强制TVFS。它可以让你使用类似Unix的路径,即使服务器忘了宣布他们的支持。


0
投票

由于ftp服务器是在Windows环境下运行的,我不得不使用\来代替定义路径。

© www.soinside.com 2019 - 2024. All rights reserved.