sftpg3 — SecureShell ファイル転送クライアント - Generation 3
sftpg3 (Windows では sftpg3.exe) は FTP に似たクライアントであり、ネットワーク経由でのファイル転送に使用できます。sftpg3 は、SecureShell バージョン 2 プロトコルを使用してセキュアな転送を提供するために ssh-broker-g3 を起動します。認証のためにパスワードまたはパスフレーズが必要な場合は、ssh-broker-g3 がそれらの入力を求めます。sftpg3 は、ssh-broker-config.xml
ファイルで指定された設定を使用します。
ただし、sftpg3 は FTP クライアントの代替となることを想定していません。セキュアなファイル転送機能を実装するアプリケーションであり、一般的な FTP アプリケーションにあるほとんどの機能を備えています。
sftpg3 を使用してリモート ホストに接続するには、ssh-broker-config.xml
ファイルで定義された接続プロファイル (profile
) の名前、あるいはリモート ホストの IP アドレスまたは DNS 名を指定します。リモートのユーザ名と SecureShell サーバのポート ( [user@
] host
[#port
]) もオプションで指定できます。ユーザ名を指定しない場合は、ローカル ユーザ名が使用されます。ポートを指定しない場合、デフォルトの SecureShell ポートである 22 番が使用されます。リモート ホストでは、sftp-server サブシステムが有効な状態で SecureShell バージョン 2 サーバを実行している必要があります。SSH Tectia Server では、sftp-server がデフォルトで有効になっています。
sftpg3 コマンドで接続プロファイルを定義するときは、SSH Tectia Client による引数の解釈が引数の形式によって変化することに注意してください。指定された属性値に @ 記号が含まれる場合、SSH Tectia Client は常に、その値をプロファイルではなく <username@hostname>
であると解釈します。
また、プロファイル名にピリオドが含まれる場合 (host.x.example.com
など)、コマンドラインではピリオドをエスケープする必要があります。UNIX では、host\.x\.example\.com
と入力します。Windows では、host˜.x˜.example˜.com
と入力します。そのように入力しないと、プロファイル名がホスト名として解釈され、現在のローカル ユーザ名がログインに使用されます。
ファイル名に含まれる特殊文字について、詳しくはファイル名のサポート項を参照してください。
以下のオプションが利用可能です。
-b
buffer_size_bytes
1 回の読み取り/書き込み要求での最大バッファ サイズを定義します (デフォルトは 32768
バイト)。
-B
batch_file
バッチ モードを使用し、SFTP コマンドを batch_file
から実行します。ファイルには使用可能な任意の SFTP コマンドを記述できます。コマンドの説明については、コマンド項を参照してください。
バッチ モードを使用するには、事前にサーバのホスト鍵をクライアント上に保存し、ユーザ認証の方法として非対話的な方法 (ホスト ベースの認証、パスフレーズを使用しない公開鍵認証など) を設定しておく必要があります。
-C
現在の接続で圧縮を無効にします。
+C
この接続について zlib 圧縮を有効にします。
-c, --ciphers=
LIST
許可された暗号を設定し、サーバに提供します。暗号名のカンマ区切りリストを指定します。たとえば以下のようになります。
--ciphers seed-cbc@ssh.com,aes256-cbc
現在サポートされている暗号名を確認するには、値として help
と入力します。
-D, --debug=
LEVEL
デバッグ レベルを設定します。LEVEL
は 0~99 の数値で、99 はすべてのデバッグ情報を表示することを指定します。これはコマンドラインの最初の引数にしてください。
注意 | |
---|---|
オプション |
注意 | |
---|---|
デバッグ レベルを設定できるのは、sftpg3 コマンドが Connection Broker を起動するときだけです。Connection Broker がすでに実行されている場合、このオプションの効果はありません。 |
-i
FILE
identification ファイルに定義された秘密鍵を公開鍵認証に使用することを定義します。
-K, --identity-key-file=
FILE
指定した秘密鍵の鍵ファイルまたは証明書をユーザ認証に使用することを定義します。鍵ファイルへのパスはコマンドで指定します。
ファイルが秘密鍵である場合は、その鍵が読み取られ、Connection Broker のキー ストアですでに認識されている鍵と比較されます。鍵が既知のものでない場合は、復号化されてキー ストアに一時的に追加されます。ファイルが証明書であり、一致する秘密鍵が Connection Broker にとって既知の場合は、その鍵が使用されます。コマンドラインで複数の -K
オプションを使用することで、証明書と秘密鍵の両方を指定できます。
-N
max_requests
読み取り/書き込み要求の最大同時送信数を定義します (デフォルトは 10
)。
-P
port
リモート マシン上のこの SecureShell ポートに接続します (デフォルトは 22
)。
-v, --verbose
詳細モードを使用します (-D 2
と同じ)。
+w, --try-empty-password
空のパスワードを試行します。
--allowed-authentications=
METHODS
ユーザ認証で使用を許可する認証方法を定義します。方法のカンマ区切りリストを指定します。現在サポートされている認証方法を確認するには、値として help
と入力します。
--compressions=
METHODS
許可された圧縮方法を設定し、サーバに提供します。方法のカンマ区切りリストを指定します。
現在サポートされている圧縮方法名を確認するには、値として help
と入力します。
--exclusive
接続試行の度に新しい接続を開くことを定義します。このオプションを指定しない場合、Connection Broker は最近閉じられた接続を再利用できます。
--fips
FIPS 暗号化ライブラリを使用してチェックサムを実行します。
--identity=
ID
ユーザ認証に秘密鍵の ID が使用されることを定義します。ID は Connection Broker 内部の 10 進の鍵番号、鍵ハッシュ、鍵ファイル名のいずれかです。
--identity-key-hash=
ID
対応する公開鍵ハッシュとともにユーザ認証に使用する秘密鍵を定義します。
--identity-key-id=
ID
Connection Broker 内部の 10 進の鍵番号をユーザ認証で使用することを定義します。
--keep-alive=
VALUE
SecureShell サーバにキープアライブ メッセージを送信する頻度を定義します。値は秒単位で入力します。デフォルト値は 0 で、この場合、キープアライブ メッセージは無効になります。
--macs=
LIST
許可された MAC を設定し、サーバに提供します。MAC 名のカンマ区切りリストを指定します。たとえば以下のようになります。
--mac hmac-sha1-96,hmac-md5,hmac-md5-96
現在サポートされている MAC 名を確認するには、値として help
と入力します。
--password=
PASSWORD
| file://
PASSWORDFILE
| extprog://
PROGRAM
パスワードまたはパスフレーズ (以下「パスワード」) を要求する認証方法への応答としてクライアントが送信するユーザ パスワードまたはパスフレーズを設定します。これは、パスワード保護された証明書および公開鍵に対しても使用できます。
PASSWORD
は、パスワードが保存されたファイルのパスか、パスワードを出力するプログラムまたはスクリプトのパスとして渡すことができます。このオプションに渡す引数としてパスワードを直接入力することもできますが、推奨されません。
警告 | |
---|---|
コマンドラインでパスワードを指定するのはセキュアな方法ではありません。たとえば、マルチユーザ環境では、コマンドライン上で直接渡されたパスワードをプロセス テーブルから簡単に復元できます。よりセキュアな認証方法を使用することをお勧めします。非対話的なバッチ ジョブでは、パスフレーズを使用しない公開鍵認証、またはホストベースの認証を使用するほうがより安全です。少なくとも、ファイルまたはプログラムを使ってパスワードを渡すようにしてください。 |
--plugin-path=
PATH
プラグインのパスを PATH
に設定します。これは FIPS モードでのみ使用されます。
--tcp-connect-timeout=
VALUE
SecureShell サーバへの TCP 接続を確立するときのタイムアウト時間を秒単位で定義します。タイムアウト値は正の数で入力します。値を 0 に設定するとこの機能は無効になり、代わりにデフォルトのシステム TCP タイムアウト設定が使用されます。
-V, --version
プログラムのバージョンを表示して終了します。
-h, --help
コマンドライン オプションの簡単な概要を表示して終了します。
sftpg3 でコマンドを受け付ける準備ができると、プロンプト sftp>
が表示されます。続いてユーザは以下の任意のコマンドを入力できます。
!
[command
] [arguments
]
ローカル マシン上で対話型シェルを起動します。command
にコマンドを指定した場合、そのコマンドが実行されます。コマンドによっては、オプションの引数を arguments
に指定できます。
append
[-u, --unlink-source
] [--streaming
] [--force-lower-case
] [--statistics
] [--statistics-format
] [--progress-display
] [--progress-line-format
] [--progress-line-interval
] srcfile
[dstfile
]
指定されたローカル ファイルをリモート ファイルに追記します。glob 処理は使用できません。
オプション:
-u, --unlink-source
ファイル転送後に転送元ファイルを削除します。
--streaming
[ =yes
| no
| force
| ext
]
サーバでストリーミングがサポートされている場合、ファイル転送にストリーミングを使用します。buffer_size_bytes
よりもサイズが小さいファイルについては、ストリーミングを使用した転送を行いません。サイズの小さいファイルに対しては force
を使用してください。デフォルトは no
です。
z/OS ホストで MVS データセットへの直接アクセスを有効にするには、ext
を使用します。他の環境ではサイズの小さいファイルの転送が低速になる可能性があるため、このオプションは、ファイル転送が主としてメインフレームのデータセット転送に使用されるときにのみ使用してください。
チェックサムが計算される場合、ファイル転送ではステージングが使用され、ストリーミングは使用されないため、--streaming=ext
オプションを指定する場合は --checksum=no
オプションも指定する必要があります。
拡張ストリーミングを有効にする別の方法は、環境変数として SSH_SFTP_STREAMING_MODE=ext
および SSH_SFTP_CHECKSUM_MODE=no
を定義することです。
--force-lower-case
転送先ファイル名を小文字に変換します。
--statistics
、--statistics-format
、--progress-display
、--progress-line-format
、および --progress-line-interval
の各オプションの意味は get と同じです。
ascii
[-s
] [remote_nl_conv
] [local_nl_conv
]
コマンド ascii は転送モードをアスキーに設定します。
z/OS 上の SSH Tectia と他のホストの間の転送については、これによって自動での ASCII-EBCDIC 変換も有効になります。デフォルトの変換は、コードセット ISO8859-1 と IBM-1047 間の変換です。ファイルは LINE
形式を使用して転送されます。site および lsite コマンドを使用して値を変更できます。
オプション:
-s
現在の改行規則のみを表示します。転送モードをアスキーに設定しません。
remote_nl_conv [local_nl_conv]
リモートおよびローカルの改行規則のヒントを設定します。local_nl_conv
オプションはローカル側で機能しますが、通常は正しいローカル改行規則がすでにコンパイルされています。
これらのオプションは下位の転送レイヤに対するヒントにすぎません。このレイヤは、可能であれば常に、サーバによって指定された実際の改行規則の使用を試みます。これらのオプションのいずれかを ask
に設定できます。この設定では、sftpg3 は必要なときに新しい改行規則をユーザに問い合わせます。利用可能な規則は dos
、unix
、および mac
で、それぞれ \r\n
、\n
、および \r
を改行として使用します。
このコマンドは転送モードをアスキーに設定しません。
auto
ファイル転送モードはファイル拡張子に基づいて自動的に選択されます。
binary
ファイルはバイナリ モードで転送されます。
break
バッチ ファイルの実行を中断します。バッチ ファイルの実行は continue コマンドで再開できます。
bye
アプリケーションを終了します。
cd
directory
現在のリモート作業ディレクトリを変更します。
chmod
[-R
] [-f
] [-v
] OCTAL-MODE
[file
...]
chmod
[-R
] [-f
] [-v
] [ugoa
] [+-=
] [rwxs
] [file
...]
指定された 1 つまたは複数のファイルの許可属性を、OCTAL-MODE
に指定されたビット パターンに設定します。または、[ugoa][+-=][rwxs]
に指定されたシンボリック モードに従って許可属性を変更します。1 つのシンボリック モードの組み合わせのみがサポートされています。
オプション:
-R
ファイルおよびディレクトリを再帰的に変更します。
-f
サイレント モードを使用します (エラー メッセージを表示しません)。
-v
詳細モードを使用します (処理されたすべてのファイルを一覧表示します)。
close
リモート接続を閉じます。
continue
中断されたバッチ ファイル実行を再開します。
debug
[ disable
| no
| debuglevel
]
デバッグを有効または無効にします。disable
または no
を指定すると、デバッグは無効になります。あるいは、コマンドライン オプション -D
と同様に、debuglevel
にデバッグ レベル文字列を設定します。
digest
[-H, --hash
] [-o, --offset
] [-l, --length
] file
ファイル データに対して MD5 または SHA-1 ダイジェストを計算します。
オプション:
-H, --hash=
[ md5
| sha1
]md5
または sha1
ハッシュ アルゴリズムを使用します (デフォルトは md5
)。
-o, --offset=
OFFSET
OFFSET
で指定されたファイル オフセットから読み取りを開始します。
-l, --length=
LENGTH
LENGTH
バイトのファイル データを読み取ります。
get
[-p, --preserve-attributes
] [-u, --unlink-source
] [-I, --interactive
] [--overwrite
] [--checksum
] [-W, --whole-file
] [--checkpoint
] [--streaming
] [--force-lower-case
] [--prefix=
] [--statistics
] [--statistics-format
] [--progress-display
] [--progress-line-format
] [--progress-line-interval
] [--max-depth=
] file
...
指定されたファイルをリモート エンドからローカル エンドに転送します。デフォルトでは、ディレクトリとその内容は再帰的にコピーされますが、これは Connection Broker 構成の SFTP 互換モード設定 (ssh-broker-config.xml
内の sftpg3-mode
) で変更できます。現在設定されている SFTP 互換モードを表示するには、次のコマンドを実行します。
sftp> help get
現在設定されている互換モードは、get コマンドのヘルプの先頭部分に表示されます。
SFTP 互換モードのオプションは以下の通りです。
tectia
sftpg3 クライアントは、現在のディレクトリとそのすべてのサブディレクトリのファイルを再帰的に転送します。
ftp
get
コマンドは sget
として実行されます。この場合、このコマンドは単一のファイルを転送し、サブディレクトリはコピーされません。
openssh
指定したディレクトリから通常ファイルとシンボリック リンクのみがコピーされ、サブディレクトリはコピーされません。それ以外に get コマンドの動作に変更はありません。
オプション:
-p, --preserve-attributes
転送元と転送先の両方が UNIX ファイルシステム (z/OS USS を含む) の場合に、ファイルの許可属性とタイムスタンプを保持します。転送元と転送先のいずれかが Windows の場合、タイムスタンプは保持しますが許可属性は保持しません。転送先が z/OS MVS の場合は、どちらも保持しません。
-u, --unlink-source
ファイル転送後に転送元ファイルを削除します。ディレクトリが空になった場合、ディレクトリも削除されます (移動モード)。
-I, --interactive
既存の転送先ファイルを上書きするかどうかをユーザに確認します (バッチ モードでは使用できません)。
--overwrite
[ =yes
| no
]
既存の転送先ファイルを上書きするかどうかを決定します (デフォルトは yes
)。
--checksum
[ =yes
| no
| md5
| sha1
| md5-force
| sha1-force
| checkpoint
]
ファイル転送を再開できるファイル内のポイントを特定するために、MD5 または SHA-1 チェックサム、あるいは独立したチェックポイント データベースを使用します。buffer_size_bytes
よりもサイズが小さいファイルはチェックされません。サイズの小さいファイルに対しては md5-force
または sha1-force
を使用します (デフォルトは yes
で、MD5 チェックサムを使用します)。チェックポイント設定は、サイズの大きなファイルを 1 つずつ転送するときに使用します。
-W, --whole-file
インクリメンタル チェックを試行しません。デフォルトでは (このオプションを指定しない場合)、インクリメンタル チェックが試行されます。このオプションは --checksum
オプションとの組み合わせでのみ使用できます。
--checkpoint=s
<seconds>
チェックポイント更新が発生するまでの時間間隔 (デフォルトは 10
秒)。このオプションは --checksum=checkpoint
のときにのみ使用できます。
--checkpoint=b
<bytes>
チェックポイント更新が発生するまでのバイト間隔 (デフォルトは 10 MB)。このオプションは --checksum=checkpoint
のときにのみ使用できます。
--streaming
[ =yes
| no
| force
| ext
]
サーバでストリーミングがサポートされている場合、ファイル転送にストリーミングを使用します。buffer_size_bytes
よりもサイズが小さいファイルについては、ストリーミングを使用した転送を行いません。サイズの小さいファイルに対しては force
を使用してください。デフォルトは yes
です。
z/OS ホストで MVS データセットへの直接アクセスを有効にするには、ext
を使用します。他の環境ではサイズの小さいファイルの転送が低速になる可能性があるため、このオプションは、ファイル転送が主としてメインフレームのデータセット転送に使用されるときにのみ使用してください。
チェックサムが計算される場合、ファイル転送ではステージングが使用され、ストリーミングは使用されないため、--streaming=ext
オプションを指定する場合は --checksum=no
オプションも指定する必要があります。
拡張ストリーミングを有効にする別の方法は、環境変数として SSH_SFTP_STREAMING_MODE=ext
および SSH_SFTP_CHECKSUM_MODE=no
を定義することです。
--force-lower-case
転送先ファイル名を小文字に変換します。
--max-depth=
VALUE
ディレクトリを再帰的にコピーするかどうかを定義します。以下の値を指定できます。
0
- 無制限の再帰。ディレクトリとその内容は再帰的にコピーされます。
1
- 指定したディレクトリだけからファイルをコピーし、サブディレクトリからはコピーしません。
2 ~ n
- 指定した階層数のディレクトリからファイルを再帰的にコピーします。n
はシステム固有の最大値を意味します。
このコマンドライン オプションは、Connection Broker 構成の sftpg3-mode
エレメントで設定された再帰の深さや、環境変数 SSH_SFTP_CMD_GETPUT_MODE
を使用して行われた設定よりも優先します。
--prefix=
PREFIX
ファイル転送の間に、PREFIX
で指定された接頭辞をファイル名に付加します。ファイルが正常に転送された後で接頭辞は削除されます。
--statistics
[ =no
| yes
| simple
| bytes
]
ファイル転送操作の後で表示する統計の形式を選択します。各オプションの意味は以下の通りです。
no
- 統計を作成しません。これはデフォルトの設定です。
yes
- 詳細な統計を作成します。statistics-format
オプションで内容を設定できます。デフォルトの統計内容は以下の通りです。
"Source: %c:%g\r\n" "Source parameters: %e\r\n" "Destination: %C:%G\r\n" "Destination parameters: %E\r\n" "File size: %s bytes\r\n" "Transferred: %t bytes\r\n" "Rate: %RB/s\r\n" "Start: %xy-%xt-%xd %xh:%xm:%xs\r\n" "Stop: %Xy-%Xt-%Xd %Xh:%Xm:%Xs\r\n" "Time: %y\r\n"
simple
- 簡潔な 1 行の統計を作成します。statistics-format
オプションで内容を設定できます。デフォルトの統計内容は以下の通りです。
"Transferred %t bytes, file: '%f' -> '%F'\r\n"
bytes
- 転送済みバイト数を報告する基本的な統計を作成します。statistics-format
オプションで内容を設定できます。デフォルトの統計内容は以下の通りです。
"Transferred %t bytes, file: '%f' -> '%F'\r\n"
--statistics-format
FORMAT_STRING
統計の形式と内容を選択します。このオプションは --statistics=yes|simple|bytes
のときに使用します。以下の定義を使用して、統計の内容を選択します。
%c - source connection: user@host#port or profile %g - /path/to/source/file %f - source file name %e - source parameters (file transfer and dataset parameters) %C - destination connection: user@host#port or profile %G - /path/to/destination/file %F - destination file name %E - destination parameters (file transfer and dataset parameters) %s - file size in bytes %S - file size as "XXyB" (B, kiB, MiB or GiB) %t - transfer size in bytes %T - transfer size as "XXyB" (B, kiB, MiB or GiB) %p - transfer percentage %q - transfer rate in bit/s %Q - transfer rate as "XXyb/s" (b/s, kib/s, Mib/s, Gib/s) %r - transfer rate in bytes/s %R - transfer rate as "XXyB/s" (B/s, kiB/s, MiB/s, GiB/s) %D* - current date %x* - start date %X* - end date %y - elapsed time %Y - time remaining %z - ETA or TOC, if transfer has finished %Z - string "ETA" or "TOC", if transfer has finished Where * is one of the following: h - hours (00-23) m - minutes (00-59) s - seconds (00-59) f - milliseconds (0-999) d - day of the month (1-31) t - month (1-12) y - year (1970-) Other special characters in format strings are: \n - line feed \r - carriage return \t - horizontal tab \\ - backslash
--progress-display
[ =no
| bar
| line
]
ファイル転送操作中に進行状況を表示する際のモードを選択します。デフォルトは bar
で、進行状況バーを表示します。オプション line
は、--progress-line-format
オプションで行われた設定に従って進行状況の情報を表示します。
--progress-line-format=
FORMAT_STRING
進行状況の行に表示する情報を選択します。このオプションは --progress-display=line
のときに使用します。以下の定義を使用して、進行状況の行の内容を選択します。
%c - source connection: user@host#port or profile %g - /path/to/source/file %f - source file name %e - source parameters (file transfer and dataset parameters) %C - destination connection: user@host#port or profile %G - /path/to/destination/file %F - destination file name %E - destination parameters (file transfer and dataset parameters) %s - file size in bytes %S - file size as "XXyB" (B, kiB, MiB or GiB) %t - transfer size in bytes %T - transfer size as "XXyB" (B, kiB, MiB or GiB) %p - transfer percentage %q - transfer rate in bit/s %Q - transfer rate as "XXyb/s" (b/s, kib/s, Mib/s, Gib/s) %r - transfer rate in bytes/s %R - transfer rate as "XXyB/s" (B/s, kiB/s, MiB/s, GiB/s) %D* - current date %x* - start date %X* - end date %y - elapsed time %Y - time remaining %z - ETA or TOC, if transfer has finished %Z - string "ETA" or "TOC", if transfer has finished Where * is one of the following: h - hours (00-23) m - minutes (00-59) s - seconds (00-59) f - milliseconds (0-999) d - day of the month (1-31) t - month (1-12) y - year (1970-) Other special characters in format strings are: \n - line feed \r - carriage return \t - horizontal tab \\ - backslash
--progress-line-interval=
seconds
行モードで進行状況の情報を更新する頻度を定義します。間隔は秒単位で指定します。デフォルトは 60 秒です。
getext
自動転送モードでアスキー形式になる拡張子を表示します。
lappend
[options
...] srcfile
[dstfile
]
append と同じですが、指定されたリモート ファイルをローカル ファイルに追記します。
lcd
directory
現在のローカル作業ディレクトリを変更します。
lchmod
[-R
] [-f
] [-v
] OCTAL-MODE
[file
...]
lchmod
[-R
] [-f
] [-v
] [ugoa
] [+-=
] [rwxs
] [file
...]
chmod と同じですが、ローカル ファイルに対して機能します。
lclose
ローカル接続を閉じます。
ldigest
[-H, --hash
] [-o, --offset
] [-l, --length
] file
digest と同じですが、ローカル ファイルに対して機能します。
lls
[-R
] [-l
] [-S
] [-r
] [-p
] [-z|+z
] [file
...]
ls と同じですが、ローカル ファイルに対して機能します。
llsroots
lsroots と同じですが、ローカル ファイルに対して機能します (ローカル側が VShell サーバに対して開かれているとき)。
lmkdir
directory
mkdir と同じですが、ローカル ファイルに対して機能します。
lopen
hostname
| -l
ローカル側をホスト hostname
に接続しようと試みます。これに成功した場合、lls およびそれに関連するコマンドはそのホスト上のファイルシステムに対して機能します。
オプション:
-l
ローカル側をローカル ファイルシステムに接続します (サーバを必要としません)。
lpwd
現在のローカル作業ディレクトリの名前を出力します。
lreadlink
path
readlink と同じですが、ローカル ファイルに対して機能します。
lrename
oldfile
newfile
rename と同じですが、ローカル ファイルに対して機能します。
lrm
[options
...] file
...
rm と同じですが、ローカル ファイルに対して機能します。
lrmdir
directory
rmdir と同じですが、ローカル ファイルに対して機能します。
ls
[-R
] [-l
] [-S
] [-r
] [-p
] [-z|+z
] [file
...]
リモート サーバ上のファイルの名前を一覧表示します。ディレクトリについては、その内容が一覧表示されます。引数を指定しない場合、現在の作業ディレクトリの内容が一覧表示されます。
オプション:
-R
ディレクトリ ツリーを再帰的に一覧表示します。デフォルトでは、引数で指定されたディレクトリのサブディレクトリにはアクセスしません。
-l
許可属性、所有者、サイズ、および変更日時も表示します (詳細形式)。
-S
ファイル サイズに基づいて並べ替えを行います (デフォルトはアルファベット順の並べ替え)。
-r
並べ替え順を逆にします。
-p
一度に 1 ページ分のリストだけを表示します。
-z
クライアントは詳細形式の出力を生成します (オプション -l
のエイリアス)。
+z
利用可能な場合は、サーバによって提供される詳細形式の出力が使用されます。
lsite
[ none
| name1=value1 name2=value2
... ]
site と同じですが、ローカルのファイルおよびデータセットに対して機能します。
lsroots
サーバの仮想ルートを出力します。(これは VShell 拡張機能です。この機能を使用しないと、VShell サーバのファイルシステム構造を知ることができません。)
lsymlink
targetpath
linkpath
symlink と同じですが、ローカル ファイルに対して機能します。
mget
[options
...] file
...
get と同義です。
mkdir
directory
directory
で指定されたディレクトリの作成を試みます。
mput
[options
...] file
...
put と同義です。
open
hostname
| -l
リモート側をホスト hostname
に接続しようと試みます。
オプション:
-l
リモート側をローカル ファイルシステムに接続します (サーバを必要としません)。
pause
[seconds
]
バッチ ファイルの実行を seconds
秒間停止するか、seconds
が指定されていない場合は Enter キーが押されるまで停止します。
put
[options
...] file
...
指定されたファイルをローカル エンドからリモート エンドに転送します。オプションと動作は get と同じです。
pwd
現在のリモート作業ディレクトリの名前を出力します。
quit
アプリケーションを終了します。
readlink
path
path
がシンボリック リンクの場合、リンクが指している場所を示します。
rename
oldfile
newfile
oldfile
の名前を newfile
に変更しようと試みます。newfile
がすでに存在する場合、ファイルは変更されません。
rm
[-I, --interactive
] [-r, --recursive
] file
...
file
で指定されたファイルまたはディレクトリの削除を試みます。
オプション:
-I, --interactive
ファイルまたはディレクトリを削除するかどうかをユーザに確認します (バッチ モードでは機能しません)。
-r, --recursive
ディレクトリは再帰的に削除されます。
rmdir
directory
directory
で指定されたディレクトリの削除を試みます。このコマンドは、ディレクトリが空で、サブディレクトリも存在しない場合にのみディレクトリを削除します。
set
[ defaults
| option1=value1 option2=value2
... ]
各種パラメータのデフォルト値を設定します。set
コマンドには以下のオプションを指定できます。
defaults
パラメータをシステムのデフォルトに設定します。
checksum
[ =yes
| no
| md5
| sha1
| md5-force
| sha1-force
| checkpoint
]
ファイル転送を再開できるファイル内のポイントを特定するために、MD5 または SHA-1 チェックサム、あるいは独立したチェックポイント データベースを使用します。buffer_size_bytes
よりもサイズが小さいファイルはチェックされません。サイズの小さいファイルに対しては md5-force
または sha1-force
を使用します (デフォルトは yes
で、MD5 チェックサムを使用します)。チェックポイント設定は、サイズの大きなファイルを 1 つずつ転送するときに使用します。
compatibility-mode
[ =tectia
| ftp
| openssh
]
ファイル転送で使用する再帰モードを定義します。
tectia
sftpg3 クライアントは、現在のディレクトリとそのすべてのサブディレクトリからファイルを再帰的に転送します。これはデフォルトのモードです。
ftp
単一のファイルが転送され、サブディレクトリはコピーされません。
openssh
指定したディレクトリから通常ファイルとシンボリック リンクのみがコピーされ、サブディレクトリはコピーされません。
overwrite
[ =yes
| no
]
既存の転送先ファイルを上書きするかどうかを決定します (デフォルトは yes
)。
progress-display
[ =no
| bar
| line
]
ファイル転送操作中に進行状況を表示する際のモードを選択します。デフォルトは bar
で、進行状況バーを表示します。オプション line
は、progress-line-format
オプションで行われた設定に従って進行状況の情報を表示します。
progress-line-format=
FORMAT_STRING
進行状況の行に表示する情報を選択します。このオプションは --progress-display=line
のときに使用します。コマンド get --progress-line-format
の内容オプションの定義を参照してください。
progress-line-interval=
seconds
行モードで進行状況情報を更新する頻度を定義します。間隔は秒単位で指定します。デフォルトは 60 秒です。
statistics-display
[ =no
| yes
| simple
| bytes
]
ファイル転送操作の後で表示する統計の形式を選択します (デフォルトは no
)。コマンド get --statistics
のオプションの説明を参照してください。
statistics-format=
FORMAT_STRING
統計の形式と内容を選択します。このコマンドは statistics-display=yes|simple|bytes
のときに使用します。コマンド get --statistics-format
の内容オプションの定義を参照してください。
streaming
[ =yes
| no
| force
| ext
]
サーバでストリーミングがサポートされている場合、ファイル転送にストリーミングを使用します。buffer_size_bytes
よりもサイズが小さいファイルについては、ストリーミングを使用した転送を行いません。サイズの小さいファイルに対しては force
を使用してください。デフォルトは no
です。
z/OS ホストで MVS データセットへの直接アクセスを有効にするには、ext
を使用します。他の環境ではサイズの小さいファイルの転送が低速になる可能性があるため、このオプションは、ファイル転送が主としてメインフレームのデータセット転送に使用されるときにのみ使用してください。
チェックサムが計算される場合、ファイル転送ではステージングが使用され、ストリーミングは使用されないため、streaming=ext
オプションを指定する場合は checksum=no
オプションも指定する必要があります。
拡張ストリーミングを有効にする別の方法は、環境変数として SSH_SFTP_STREAMING_MODE=ext
および SSH_SFTP_CHECKSUM_MODE=no
を定義することです。
setext
[extension
...]
自動転送モードでアスキー形式になるファイル拡張子を選択します。ファイル拡張子では通常の zsh-fileglob 正規表現を使用できます。
setperm
fileperm
[:dirperm
]
アップロード時のファイルまたはディレクトリのデフォルトの許可ビットを設定します。(既存のファイルまたはディレクトリの許可属性を保持するには、fileperm
に接頭辞 p
を付けます。)
sget
[options
...] srcfile
[dstfile
]
dstfile
で定義されたファイル名を使用して、指定された単一ファイルをリモート エンドからローカル エンドに転送します。ディレクトリはコピーされません。ワイルドカードは使用できません。オプションは get と同じです。
site
[ none
| name1=value1 name2=value2
... ]
リモート ホストのファイル パラメータおよびデータセット パラメータを設定します。パラメータは 1 つずつ入力することも、スペースまたはカンマで区切って複数のパラメータを入力することもできます。長いパラメータと省略形の両方を使用できます。site コマンドを引数なしで実行すると、入力したパラメータの一覧が出力されます。none
を設定するとすべてのパラメータがリセットされます。
利用可能なパラメータは以下の通りです。
A|transfer_translate_dsn_templates=
TEMPLATES
B|BLKsize|BLOCKSIze=
SIZE
BLocks
C|transfer_codeset=
CODESET
CONDdisp=catlg|delete
CYlinders
D|transfer_file_codeset=
CODESET
DATAClass|dataclas=
CLASS
E|transfer_translate_table=
TABLE
F|transfer_format=
FORMAT
fixrecfm=
LENGTH
fixrecfm
LENGTH
I|transfer_line_delimiter=
CONVENTION
J|transfer_file_line_delimiter=
CONVENTION
keylen=
LENGTH
keyoff=
OFFSET
L|size=
SIZE
like=
LIKE
M|DIrectory|directory_size=
SIZE
MGmtclass|mgmtclas=
CLASS
NOTRAILingblanks
NOTRUNcate
O|RECfm=
RECFM
P|profile=
PROFILE
PRImary|primary_space=
SPACE
R|LRecl=
LENGTH
SECondary|secondary_space=
SPACE
space_unit=
UNIT
space_unit_length=
LENGTH
STOrclass|storclas=
CLASS
T|type=
TYPE
TRacks
trailing_blanks=yes|no
TRAILingblanks
TRUNcate
U|record_truncate=yes|no
unit=
UNIT
volumes=
VOLUMES
X|transfer_mode=
MODE
sput
[options
...] srcfile
[dstfile
]
dstfile
で定義されたファイル名を使用して、指定された単一ファイルをローカル エンドからリモート エンドに転送します。ディレクトリはコピーされません。ワイルドカードは使用できません。オプションは get と同じです。
sunique
[on
] [off
]
ファイルを一意の名前で保存します。オプションを指定しない場合、このコマンドは「sunique」の状態を切り替えます。
転送されるファイルのうち 2 つ以上が同じ名前である場合、この機能により、重複したファイル名の末尾に連続する番号が付加されます。たとえば、file.name
、file.name1
、file.name2
のようになります。
symlink
targetpath
linkpath
targetpath
を指すことになるシンボリック リンク linkpath
を作成します。
verbose
詳細モードを有効にします (debug 2 コマンドと同じ)。debug disable によって、詳細モードを後から無効にすることができます。
help
[topic
]
topic
を指定しない場合は、利用可能なトピックが一覧表示されます。topic
を指定した場合は、トピックについて利用可能なオンライン ヘルプが出力されます。
helpall
すべてのトピックについての利用可能なオンライン ヘルプが出力されます。
sftpg3 は、コマンドライン上でバックスラッシュ (\) と引用符 ("") の両方を認識します。バックスラッシュは、コマンドラインの解釈時に文字の特別な意味を無視するために使用できます。直後の文字に特別な意味がない場合でも、バックスラッシュは除去されます。
引用符は、スペースを含むファイル名を指定するために使用できます。
注意 | |
---|---|
コマンド get . および put . は現在のディレクトリ内のすべてのファイルを取得または送信し、現在のディレクトリ内のファイルを上書きする可能性があります。 |
sftpg3 は、chmod、lchmod、ls、lls、rm、lrm、get、および put の各コマンドに渡されるワイルドカード文字 (glob パターンと呼ぶ場合もあります) をサポートします。
UNIX では、コマンドライン編集のために以下のキー シーケンスを使用できます。
マークを設定します。
行の先頭に移動します。
カーソルを 1 文字左に移動します。
カーソルの右側にある文字を消去するか、またはコマンドラインが空の場合にプログラムを終了します。
行の末尾に移動します。
カーソルを 1 文字右に移動します。
バックスペース。
タブ。
Enter。
行の残り部分を削除します。
行を再描画します。
Enter。
次の行に移動します。
前の行に移動します。
2 つの文字を切り替えます。
行を削除します。
領域を削除します (領域のもう一方の端に Ctrl-Space でマークを付けます)。
拡張コマンドを開始します。
削除された行をバッファから貼り付けます。
元に戻します。
小文字の領域。
大文字の領域。
カーソルとマークを交換します。
バッファ全体にマークを付けます。
元に戻します。
後方の単語を削除します。
後方の単語を削除します。
余分なスペースを削除します (スペースを 1 つだけを残します)。
行の先頭に移動します。
行の末尾に移動します。
現在の単語にマークを付けます。
センテンス 1 つ分後方に移動します。
単語 1 つ分後方に移動します。
現在の単語を大文字で始めます。
現在の単語を削除します。
センテンス 1 つ分前方に移動します。
単語 1 つ分前方に移動します。
現在のセンテンスを削除します。
現在の単語を小文字に変更します。
単語を入れ換えます。
現在の単語を大文字に変更します。
バックスペース。
ファイル名に使用できる文字セットはオペレーティング システムによって異なります。UNIX ではいくつかの特殊文字をファイル名に使用できますが、Windows では以下の文字は使用できません。
\/ : * ? " < > |
sftpg3 のコマンドライン ツールは、実行形式 (対話型またはバッチ ファイルを使用) にかかわらず、Windows プラットフォーム上でも UNIX シェル コマンドラインの構文とセマンティクスに従います。ただし、エスケープ文字が ~ (チルダ) である点だけが異なります。
ファイル名に特殊文字が含まれるファイル (unixfilename*?".txt
など) を UNIX サーバから Windows に転送するときは、Windows で使用できる新しい名前をファイルに付ける必要があります。
get コマンドは複数ファイルの同時転送に使用できますが、転送先のファイル名を定義することはできません。ファイル名に特殊文字が含まれている場合は、Windows 上でも有効な名前になるよう、あらかじめ UNIX 側でファイルの名前を変更しておく必要があります。
sget コマンドは一度に 1 つのファイルを転送するために使用され、転送先ファイルの新しい名前を定義できます。このコマンドは、Windows 上で有効な名前にファイル名を変更する場合に使用します。コマンド シーケンスは以下の通りです。
$ sftpg3
sftp> open user@server
sftp> sget "file*name.txt" windowsfilename.txt
以下の文字は特別な意味を持つため、sftpg3 コマンドでは、ファイル名を引数に取るコマンドでこれらの文字をエスケープする必要があります。
* (アスタリスク) は任意の数の任意の文字に対応するワイルドカード文字です。
? (疑問符) は任意の 1 文字に対応するワイルドカードです。
表示どおりに扱う文字列は "" (引用符) で囲みます。
\ (バックスラッシュ) は UNIX でのエスケープ文字です。
~ (チルダ) は Windows でのエスケープ文字です。
エスケープ文字は、その直後の文字を表示通りに扱い、その文字の特別な意味を考慮しないように sftpg3 コマンドに指示します。エスケープ文字はローカル マシンのオペレーティング システムに従って選択されます。
文字 \ および ~ はそれら自体が特殊文字であり、ファイル名でこれらの文字を使用する場合はその直前にエスケープ文字を入れる必要があります。したがって、\ (UNIX) または ~ (Windows) の各文字を含むファイル名を sftpg3 コマンドに入力する必要がある場合は、以下のように、必要なエスケープ文字を各文字に追加してください。
\\ (UNIX)
~~ (Windows)
ファイル名またはその一部を引用符 ("") で囲むと、sftpg3 コマンドは引用符で囲まれた部分を表示通りに解釈するため、引用符の中の文字がワイルドカードまたはその他の特殊文字として解釈されることはありません。
ただし UNIX では、引用符 (") をファイル名の中で使用できます。UNIX でも Windows でも、ファイル名に " 文字を入力する必要がある場合はその前にエスケープ文字を追加する必要があります。
たとえば、Windows で file-"name".txt
というファイル名をコマンドに入力するには、以下のようにコマンドを入力します。
sftp> sget "file-~"name~".txt" filename.txt
SSH Tectia の sftpg3 コマンドでのエスケープ文字の使用方法と、異なるオペレーティング システムで特殊文字を含むファイル名を入力する方法については、以下の例を参照してください。
以下のファイル名は UNIX で有効ですが、コマンドに入力するときはエスケープ文字が必要です。
file|name.txt file-"name".txt file?name.txt file*name.txt file\name.txt file - name.txt file~name.txt
UNIX で sftpg3 コマンドライン ツールを使用するときは、前述のファイル名は以下の形式で入力します。
file\|name.txt or "file|name.txt" file-\"name\".txt or "file-\"name\".txt" file\?name.txt or "file?name.txt" file\*name.txt or "file*name.txt" file\\name.txt or "file\\name.txt" file\ -\ name.txt or "file - name.txt" file~name.txt or "file~name.txt"
UNIX でのコマンドの例を以下に示します。
sftp> get "file*name.txt"
sftp> sget "file*name.txt" newfilename.txt
Windows で sftpg3 コマンドを使用するとき、前述の UNIX のファイル名は以下の形式で入力します。
file~|name.txt or "file|name.txt" file-~"name~".txt or "file-~"name~".txt" file~?name.txt or "file?name.txt" file~*name.txt or "file*name.txt" file~\name.txt or "file\name.txt" file~ -~ name.txt or "file - name.txt" file~~name.txt or "file~~name.txt"
Windows でのコマンド シーケンスの例を以下に示します。
> sftpg3 open user@server
sftp> get "file name.txt"
sftp> sget "file*name.txt" filename.txt
sftpg3 は以下の環境変数を使用します。
=FILE
sftpg3 の起動時に実行するバッチ ファイルのパスを定義します。これはたとえば、インタラクティブ セッションを開始する前に特定の動作を実行するために使用できます。
=no|md5|md5-force|sha1|sha1-force|checkpoint
sftpg3 および scpg3 コマンドのデフォルトのチェックサム モードを定義します。チェックサムは、ファイル転送が中断された場合に、そのファイル転送をファイル内のどこで再開できるかを特定するために使用します。
no
- チェックサムを使用しません。ファイルは常に先頭から EOF まで転送されます。これにより、z/OS ではステージングが行われなくなります。
md5
– MD5 チェックサムを使用します。
md5-force
– MD5 チェックサムを強制します。
sha1
– SHA1 チェックサムを使用します。
sha1-force
– SHA1 チェックサムを強制します。
checkpoint
– 独立したチェックポイント データベースを使用します。
=tectia|ftp|openssh
ファイル転送時の SFTP 互換モードを定義します。この設定は、get/mget/sget
および put/mput/sput
コマンドの動作と、sftpg3 クライアントによって使用される再帰レベルに影響を及ぼします。この環境変数の設定は、ssh-broker-config.xml
ファイルで行う sftpg3-mode
の設定よりも優先します。変数は以下の通りです。
tectia
– get
および put
コマンドは通常と同様に機能し、sget
および sput
では転送先のファイル名を定義できます。ディレクトリとその内容は再帰的にコピーされます。これはデフォルトのモードです。
ftp
– コマンド get/put
がコマンド sget/sput
として実行されます。つまり、単一のファイルが転送されます。また、コマンド mget/mput
の再帰の深さが 1 に設定されます。つまり、指定したディレクトリのファイルのみが転送され、サブディレクトリのファイルは転送されません。
openssh
– コマンド get/put/mget/mput
が同様に動作します。つまり、指定したディレクトリ内の通常ファイルとシンボリック リンクのみが転送されます。サブディレクトリはコピーされません。
=yes|no
この変数を yes
(デフォルト) に設定すると、デフォルトの動作は既存のファイルの上書きです。no
に設定すると、デフォルトの動作は既存のファイルの上書きではありません。
=yes|no|ext
sftpg3 および scpg3 コマンドで使用するデフォルトのストリーミング モードを定義します。
no
– ストリーミングを使用しません。
yes
– 標準のストリーミングを使用します。
ext
– 拡張ストリーミングを使用します。
sftpg3 は、操作の成否に基づいて以下の値を返します。
0 Operation was successful. 1 Internal error. 2 Connection aborted by the user. 3 Destination is not a directory, but a directory was specified by the user. 4 Connecting to the host failed. 5 Connection lost. 6 File does not exist. 7 No permission to access file. 8 Undetermined error from sshfilexfer. 11 Some non-fatal errors occured during a directory operation. 101 Wrong command-line arguments specified by the user.
バッチ モードでは、sftpg3 は実行中にエラーが発生しなかった場合にのみ値 0 を返します。現在の作業ディレクトリの変更に失敗したり、接続の確立に失敗したり、バッチ操作中に接続が失われたりすると、sftpg3 は異常終了します。その他のエラーは stderr に出力され、最後のエラー値が sftpg3 プロセスの exit 値として返されます。
ssh-broker-config.xml
ファイル内の接続プロファイル profile1
に定義されたサーバにリモート側が接続した状態で、sftpg3 セッションを開きます (ローカル側は当初、ローカル ファイルシステムに接続されます)。
$ sftpg3 profile1
バッチ モードで sftpg3 を実行します。
$ sftpg3 -B batch.txt
バッチ ファイル batch.txt
の内容の例を以下に示します。非対話的な認証方法が使用され、サーバのホスト鍵は事前に格納されています。
lopen user@unixserver.example.com open user@winserver.example.com binary lcd backup cd c:/temp get --force-lower-case Testfile-X.bin lchmod 700 testfile-x.bin quit
この例のバッチ ファイルは、接続のローカル側を UNIX サーバに対して、リモート側を Windows サーバに対してそれぞれ開き、転送モードをバイナリに設定します。ローカル ディレクトリを backup
に、リモート ディレクトリを C:\Temp
にそれぞれ変更し、リモート ディレクトリからローカル ディレクトリにファイルをコピーします。ファイル名は小文字 (testfile-x.bin
) に変更されます。転送後、ユーザがすべての権限を持ち、他のユーザが一切の権限を持たないようにファイル許可属性が変更されます。