我的问题是当使用 lftp 从具有自动密码的 sftp 站点下载文件时:
lftp -e 'set xfer:clobber on; mget -c one_file' -u username,passwd sftp://hostname
lftp 仍然提示"输入您的密码:"询问我密码。我的操作系统是Windows xp。谁能告诉我什么是问题?
背景:我想在满足某些条件时自动从 sftp 站点传输大文件。我发现 lftp 是传输大文件的好工具,因为当由于网络连接状态不稳定而导致链接断开连接时,它可以在后台恢复传输。我在Windows上使用python来控制lftp下载大文件。但是似乎在lftp中自动执行密码失败了。我也尝试了类似期望的方法,例如winpexpect,但似乎无法解决这个问题。但是,我发现其他人在进行谷歌搜索时使用 lftp -you 自动为 sftp 网站设置密码,为什么它在这里失败了?
提前谢谢你!
(在问题编辑中回答。 转换为社区维基答案。请参阅将问题的答案添加到问题本身时,适当的操作是什么?)
OP写道:
我已经解决了。
我发现
lftp
使用的ssh
不是lftp
目录中的那个,而是另一个(ssh
mingw
目录下),因为PATH
中的mingw
路由在lftp
之前。我将lftp
的路由移动到变量PATH
mingw
前面,然后问题就解决了。