SFTP(1)

名称
sftp - 安全なファイル転送プログラム

書式
sftp [-vC1] [-b バッチファイル] [-o ssh設定項目] [-s サブシステム | sftpサーバ] [-B バッファサイズ] [-F ssh設定ファイル] [-P sftpサーバパス] [-R 同時リクエスト数] [-S プログラム] [ホスト] sftp [[ユーザ@]ホスト名[:ファイル [ファイル]]] sftp [[ユーザ@]ホスト名[:ディレクトリ[/]]]

解説
sftp は ftp(1) に似た対話的なファイル転送プログラムです。 すべての操作は ssh(1) によって暗号化された 通信路を経由しておこなわれます。 sftp では公開鍵認証や圧縮機能など、ssh の機能の多くを利用できます。 sftp は指定された ホスト に接続してログインしたあと、対話的なコマンドモードに入ります。

2番目の書式では、 対話的でない (訳注: ユーザがパスフレーズ等を入力する必要のない) 認証が 使われている場合に自動的にファイルを取得します。 そうでない場合は対話的な認証ののちにファイルを取得します。

3番目の書式は、指定されたリモートディレクトリから sftp クライアントを開始します。

オプションは以下のとおりです:

-b バッチファイル
    バッチモードに入り、 標準入力 のかわりに指定された バッチファイル からコマンド列を読み込みます。 これにはユーザが介入する余地がないので、このモードは 対話的でない (訳注: ユーザがパスフレーズ等を入力する必要のない) 認証と 組み合わせて使うべきでしょう。 sftp は以下のどれかのコマンドが失敗すると中断します: get, put, rename, ln, rm, mkdir, chdir, lchdir および lmkdir

-o ssh設定項目
    設定ファイル ssh_config(5) で使われている形式のオプションを指定します。これは sftp が独立したコマンドラインオプションを持っていないような 項目を設定するのに便利です。たとえば、別のポートを利用するには sftp -oPort=24 のようにします。

-s サブシステム | sftpサーバ
    SSH2 のサブシステム、またはリモートホスト上にある sftp サーバへの パスを指定します。パス指定は プロトコル バージョン 1 で sftp を使用するときや、リモートの sshd に sftp サブシステムが設定されていないときなどに便利です。

-v  ログに残すレベルを変更します。このオプションは ssh にも渡されます。

-B バッファサイズ
    sftp がファイル転送をおこなうさいのバッファサイズを指定します。 バッファを大きくすると、往復 (round trip) が少なくなりますが、 そのぶんメモリは余計に消費します。デフォルトの値は 32768 バイトです。

-C  圧縮機能を使用可能にします (ssh の -C フラグを利用します)

-F ssh設定ファイル
    ssh に別のユーザ設定ファイルを指定します。 このオプションは ssh(1) に直接渡されます。

-P sftpサーバパス
    ( ssh を使わず) 直接ローカルな sftp-server に接続します。 このオプションはクライアントとサーバのデバッグ用です。

-R 同時リクエスト数
    未完了のリクエストを同時に最大どれくらいまでおこなうかを指定します。 この値を増やすとファイル転送速度が多少上がりますが、メモリを消費します。 デフォルトでは 16 の未完了リクエストをおこないます。

-S プログラム
    暗号化された接続を使うための プログラム を指定します。ここで使うプログラムは、 ssh(1) のオプションを受けつける必要があります。

-1  プロトコル バージョン 1 を使用します。

対話的コマンド
sftp の対話的コマンドモードでは、 ftp(1) に似たコマンドが使えます。これらのコマンドは 大文字でも小文字でも受けつけられ、空白文字を含むパス名は クォートで囲むことができます。

bye sftp を終了します。

cd パス名
    リモート側のカレントディレクトリを パス名 に変更します。

lcd パス名
    ローカル側のカレントディレクトリを パス名 に変更します。

chgrp グループID パス名
    パス名 で指定されたファイルのグループを グループID に変更します。 グループID は数値表現である必要があります。

chmod モード パス名
    パス名 で指定されたファイルのパーミッションを モード に変更します。

chown ユーザID パス名
    パス名 で指定されたファイルの所有者を ユーザID に変更します。 ユーザID は数値表現である必要があります。

exit
    sftp を終了します。

get [フラグ] リモートパス名 [ローカルパス名] リモートパス名 のファイルを取得し、ローカルマシン上に置きます。 (訳注: ディレクトリを再帰的にまるごと get することはできません。) ローカルパス名が指定されていない場合、これは リモートマシン上でのファイル名と同じになります。 -P フラグが指定されると、そのファイルの全パーミッションおよび アクセス時間もコピーされます。

help
    ヘルプを表示します。

lls [lsオプション [パス名]]
    ローカルマシン上の パス名 のディレクトリ一覧を表示します。 パス名 の指定がなければ、カレントディレクトリの一覧を表示します。

lmkdir パス名
    ローカルマシン上に パス名 で指定されたディレクトリを作成します。

ln 古いパス名 新しいパス名
    新しいパス名 から 古いパス名 へのシンボリックリンクを作成します。

lpwd
    ローカルマシン上のカレントディレクトリ (ワーキングディレクトリ) を表示します。

ls  [フラグ] [パス名] リモートマシン上の パス名 のディレクトリ一覧を表示します。 パス名 の指定がなければ、カレントディレクトリの一覧を表示します。 フラグ -l が指定された場合は、パーミッションをふくむ詳細を表示します。

lumask umask
    ローカルマシン上の umask を umask に設定します。

mkdir パス名
    リモートマシン上に パス名 で指定されたディレクトリを作成します。

put [フラグ] ローカルパス名 [リモートパス名] ローカルパス名 のファイルをリモートマシン上にアップロードします。 (訳注: ディレクトリを再帰的にまるごと get することはできません。) リモートパス名が指定されていない場合、これは ローカルマシン上でのファイル名と同じになります。 -P フラグが指定されると、そのファイルの全パーミッションおよび アクセス時間もコピーされます。

pwd リモートマシン上のカレントディレクトリ (ワーキングディレクトリ) を表示します。

quit
    sftp を終了します。

rename 古いパス名 新しいパス名
    リモートマシン上の 古いパス名 で表されたファイルを 新しいパス名 に変更します。 (訳注: ファイルやディレクトリを移動させることはできません。)

rmdir パス名
    リモートマシン上の パス名 で指定されるディレクトリを削除します。 (訳注: ファイルが含まれているディレクトリを削除することはできません。)

rm パス名
    リモートマシン上の パス名 で指定されるファイルを削除します。

symlink 古いパス名 新しいパス名
    新しいパス名 から 古いパス名 へのシンボリックリンクを作成します。

! コマンド
    ローカルマシン上のシェルで、 コマンド を実行します。

!   ローカルマシン上のシェルに入ります。

?   help と同じです。

作者
Damien Miller <djm@mindrot.org>

日本語訳
新山 祐介 (yusuke at cs . nyu . edu) 2002/9/27 (for 3.5 p1)

当マニュアルページは氏のご好意により FreeBSD 日本語マニュアルに収録させていただいています。 翻訳についてのご意見、ご指摘がありましたら新山氏 (yusuke at cs . nyu . edu)、および FreeBSD jpman プロジェクト <man-jp@jp.FreeBSD.org> までお送りください。

関連項目
scp(1), ssh(1), ssh-add(1), ssh-keygen(1), ssh_config(5), sftp-server(8), sshd(8) T. Ylonen, S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-filexfer-00.txt, January 2001, work in progress material.