从脚本文件向 SFTP 提供 get 命令,但保留交互式密码登录

从脚本文件向 SFTP 提供 get 命令,但保留交互式密码登录

我有一个仅允许 SFTP 连接的 FTP 服务器,并且只能通过密码进行连接。

我在服务器上有一个文件列表 - 许多目录中有成百上千个文件。这些目录包含大量我们不需要的文件。因此,我必须逐个获取文件,由列表控制。

我希望使用的方法是创建一个包含以下列表的脚本

get -p source_file dest.dir

命令 – 并将其提供给sftp命令。但是当我以交互模式连接到服务器时,我无法sftp使用该列表。

批处理模式sftp要求远程机器提供非密码识别。

通过列表获取文件的方法是什么?

答案1

sftp您可以使用输入重定向在不使用批处理模式的情况下提供命令:

sftp [email protected] < commands.txt

这样您仍然可以使用交互式密码身份验证。

$ sftp [email protected] < commands.txt
[email protected]'s password:
Connected to [email protected].
sftp> get -p source_file dest
Fetching /path/source_file to dest
/path/source_file                                        100% 9474   975.4KB/s   00:00
sftp>

相关内容