command-line-interface - 使用 lftp 以无密码方式连接到 sftp 服务器?

标签 command-line-interface lftp

我正在运行以下使用 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 同步到我的本地文件夹?

最佳答案

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

open sftp://myuser:@sftp_server:443

lftp 在连接到服务器之前会询问密码,但如果服务器不需要密码,lftp 不会发送密码。

关于command-line-interface - 使用 lftp 以无密码方式连接到 sftp 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22556867/

相关文章:

python - 从状态文件跟踪 LFTP 下载

php - 使用 CLI 来使用 phar 文件不起作用

java - commons cli 复杂参数列表

javascript - 'ng new my-app' 错误

linux - lftp pget ...不打开多线程

gitlab - 无法在 gitlab 公共(public)运行器上通过 LFTP 连接到远程 FTP 服务器

windows - 从 Windows 批处理变量中获取子字符串

python - 使用python批量运行其他python脚本

java - 使用 jcraft.jsch 更改目录时文件夹不存在

linux - 如何使用lftp传输分段文件?