スクリプトファイルからSFTPにgetコマンドを提供しますが、対話型パスワードログインを維持します。

スクリプトファイルからSFTPにgetコマンドを提供しますが、対話型パスワードログインを維持します。

SFTP接続のみを許可し、パスワードを介してのみ接続できるFTPサーバーがあります。

サーバーにファイルのリストがあります。複数のディレクトリに数百または数千のファイルがあります。このディレクトリには不要な多くのファイルが含まれています。したがって、リストによって制御されるファイルを1つずつインポートする必要があります。

私が使用したいアプローチは、次のリストを含むスクリプトを作成することです。

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>

関連情報