sftp コマンドラインユーティリティ

sftp コマンドラインユーティリティは ftp と似ている対話型のファイル転送プログラムで、暗号化された Secure Shell トランスポートを介してすべての操作を実行します。公開鍵認証など、ssh の多数の機能を使用することもできます。

コマンドラインでファイルを指定しない場合、sftp は対話型コマンドモードになります。以下に示す対話型コマンドのいずれかを使用できます。一連のコマンドをスクリプトするため、バッチファイルオプション (-B) を使用できます。

コマンドラインでファイルを指定した場合、sftp によりファイルが転送され、終了します。

注意: 既存の SecureShell 接続を再利用できます。ただし、そのためには各コマンドラインでこれを明示的に有効にするか、SSHConnectionReUse 環境変数を「Yes」に設定する必要があります。詳細については、「Secure Shell セッションにおける接続の再利用」を参照してください。

コマンドラインオプション

-a

ASCII モードでファイルを転送します。

-b buffersize

1 つの要求の最大バッファサイズを設定します。有効な値は 1024 〜 32768 です。

-B batchfile

ログイン成功後、指定したバッチファイルで各コマンドを実行し、接続を終了します。例えば、以下のコマンドでは myname を使用して myhost に接続し、myfile でコマンドを実行します。ファイル内のすべてのコマンドを実行後、接続が終了します。

sftp -B c:\mypath\myfile myhost.com myname

バッチファイルでは、以下に示す対話型コマンドのいずれかを使用できます。

注意: セミコロンは、-B オプションを使って sftp コマンドに提供されたスクリプト内のコメントには使用できません。これらのバッチファイル内のコメントに印を付けるには、番号記号 (#) を使用します。

-c cipher

優先順に指定した Cipher のカンマ区切りの一覧。既定値は、「aes128-ctr,aes128-cbc,aes192-ctr,aes192-cbc,aes256-ctr,aes256-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour」です。接続が FIPS モード で動作するよう設定されている場合、既定値は「aes128-ctr,aes128-cbc,aes192-ctr,aes192-cbc,aes256-ctr,aes256-cbc,3des-cbc」になります。

プロトコルバージョン 1(使用は現在推奨されない) では、Cipher を 1 つ指定できます。指定できる値は「3des」、「blowfish」、「des」です。

-C

すべての送信データの圧縮を有効にします。圧縮はモデム回線やほかの低速接続に適していますが、高速のネットワークでは応答速度の低下を招くだけです。

-d

ターゲットをディレクトリにします。

-F config_file

この接続に使用する代替構成ファイルを指定します。構成ファイルをコマンドラインで指定した場合、ほかの構成ファイルは無視されます。

-H scheme

この接続に使用する SSH 構成セクションを指定します。

-i key_file

鍵認証に使用する秘密鍵を指定します。 鍵ファイルは、ホスト単位で構成ファイルに指定することもできます。複数の -i オプション (および構成ファイルに指定した複数の鍵) を指定できます。ファイルまたはパスが空白を含む場合、引用符を使用します。

-o option

構成ファイルで対応するオプションを指定します。例えば、次のように入力します。

ssh "-o FIPSMode=yes" myuser@myhost

-p

タイムスタンプとファイル属性を保持します。

-q

クワイエットモードを有効にします。このモードでは、バナーを含むすべての警告および診断メッセージが表示されません。

-R maximum_requests

同時要求の最大数を指定します。この数を増やすと、ファイル転送速度が多少向上しますが、メモリ使用量が増えます。既定値は未処理要求数16個です。

-s subsystem

ssh サブシステムを指定します。

-S program

暗号化された接続に使用するプログラム。

-u

コピー後、ソースファイルを削除します。

-v

デバッグレベルを冗長モードに設定します。これは、デバッグレベルを 2 に設定することと同じです。

-V

製品名およびバージョン情報を表示して終了します。コマンドラインで他のオプションが指定された場合、それらは無視されます。

対話型モード

対話型モードで、sftp は一連のコマンドを同じように理解しますが、標準 ftp コマンドとは異なります。コマンドは、大文字と小文字を区別しません。空白を含むファイル名またはパス名を指定する場合、引用符を使用します。

ascii

転送の種類を ASCII に設定します。

binary

転送の種類をバイナリに設定します。

bye

sftp を終了します。

cd path

リモートディレクトリを path に変更します。

chmod path

path に関連付けられている許可を変更します。mode を使用して、3 桁の数値による許可を指定します。

lcd path

ローカルディレクトリを path に変更します。

exit

sftp を終了します。

get remote-path [local-path]

remote-path を取得し、ローカルマシンに保存します。ローカルパス名が指定されていない場合、リモートマシンと同じ名前が指定されます。

getext [extension,extension...]

ASCII 転送を使用するファイル拡張子を表示します。setext を使用して、この一覧を変更します。

help

ヘルプテキストを表示します。

lls [ls-options [path]]

path が指定されていない場合に、path または現在のディレクトリのローカルディレクトリ一覧を表示します。

lmkdir path

path で指定されたローカルディレクトリを作成します。

lpwd

ローカル作業ディレクトリを印刷します。

ls [path]

path が指定されていない場合に、path または現在のディレクトリのリモートディレクトリ一覧を表示します。

mkdir path

path で指定されたリモートディレクトリを作成します。

put local-path [local-path]

local-path をアップロードし、リモートマシンに保存します。リモートパス名が指定されていない場合、ローカルマシンと同じ名前が指定されます。

pwd

リモート作業ディレクトリを表示します。

quit

sftp を終了します。

reget remote-file [local-file]

指定した転送を再開します。これは get コマンドのように機能しますが、部分的に書き込まれたローカルファイルの存在を確認し、見つかった場合は最後に試行が中止された場所から転送を開始します。

rename oldpath newpath

リモートファイルの名前を oldpath から newpath に変更します。

rmdir path

path で指定されたリモートディレクトリを削除します。

rm paths

path で指定されたリモートファイルを削除します。

setext [extension,extension...]

ASCII 転送を使用するファイル拡張子を設定します。ワイルドカード文字を使用できます。引数が指定されていない場合、ファイル拡張子は ASCII 転送を使用しません。

version

sftp バージョンを表示します。

?

help と同じです。