Openssh

從腳本文件向 SFTP 提供 get 命令,但保持互動式密碼登錄

  • September 16, 2019

我有一個 FTP 伺服器,它只允許 SFTP 連接 - 並且只能通過密碼。

我在伺服器上有一個文件列表 - 許多目錄中有成百上千的文件。並且這些目錄包含大量我們不需要的文件。所以,我必須一個接一個地獲取文件,由列表控制。

我希望使用的方法是創建一個包含以下列表的腳本

get -p source_file dest.dir

命令 - 並將其提供給sftp命令。但是當我以互動模式連接到伺服器時,我無法sftp使用該列表。

批量模式sftp要求遠端機器提供非密碼辨識。

按列表獲取文件的方法是什麼?

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

sftp username@example.com < commands.txt

這樣,您仍然可以使用互動式密碼身份驗證。

$ sftp username@example.com < commands.txt
username@example.com's password:
Connected to username@example.com.
sftp> get -p source_file dest
Fetching /path/source_file to dest
/path/source_file                                        100% 9474   975.4KB/s   00:00
sftp>

引用自:https://unix.stackexchange.com/questions/541608