我有一个仅允许 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>