2

我正在运行以下使用 lftp 的脚本:

lftp -f "
open sftp://myuser@sftp_server:443
lcd $FTP_FOLDER
mirror --no-empty-dirs  --only-newer --verbose $FTP_FOLDER $LOCAL_FOLDER
bye
"

现在,如果我已经将我的公钥传递给服务器管理员,那么如果在命令行 sftp -P 443 myuser@sftp_server 中执行此操作,我将连接并得到 sftp 提示符。当我这样做时,pwd 命令告诉我需要同步的文件夹具有路径“/0Datos”,这就是 $FTP_FOLDER 的值。

当我执行脚本时,我得到这个: source: Is a directory Password:

有没有什么方法可以在没有服务器要求我输入密码(我没有密码)的情况下进行连接,以便将文件夹 0Datos 同步到我的本地文件夹?

4

2 回答 2

0

只需在 URL 中提供一个空密码:

open sftp://myuser:@sftp_server:443

lftp 在连接到服务器之前要求输入密码,但如果服务器不需要一个 lftp 则不会发送它。

于 2016-11-15T07:28:41.213 回答
0

在您的用户名后添加一个冒号(myuser:@ 而不是 myuser@)

sftp://myuser:@sftp_server:443

这意味着没有密码(空密码)。

于 2020-09-13T14:23:38.697 回答