SFTP(1)

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

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

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

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

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

最後の書式は -b オプションを使った自動セッションを許可します。 この場合、接続時のパスワード入力の必要を無くすために、 公開鍵の認証の設定が必要となるでしょう (詳細は sshd(8) と ssh-keygen(1) を参照してください)。

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

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

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

-b バッチファイル
    バッチモードに入り、 標準入力 の代わりに指定された バッチファイル からコマンド列を読み込みます。 これにはユーザが介入する余地がないので、このモードは 対話的でない (訳注: ユーザがパスフレーズ等を入力する必要のない) 認証と 組み合わせて使うべきでしょう。 バッチファイルに ‘-’ (ハイフン) が指定された場合には標準入力を使用するものとされます。 sftp は以下のどれかのコマンドが失敗すると中断します: get, put, rename, ln, rm, mkdir, chdir, ls, lchdir, chmod, chgrp, lpwd および lmkdir エラーによる終了はコマンドの先頭に ‘-’ (ハイフン) を付けることによって抑止することができます (例: -rm /tmp/blah* )。

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

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

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

    AddressFamily
    BatchMode
    BindAddress
    ChallengeResponseAuthentication
    CheckHostIP
    Cipher
    Ciphers
    Compression
    CompressionLevel
    ConnectionAttempts
    ConnectionTimeout
    GlobalKnownHostsFile
    GSSAPIAuthentication
    GSSAPIDelegateCredentials
    Host
    HostbasedAuthentication
    HostKeyAlgorithms
    HostKeyAlias
    HostName
    IdentityFile
    IdentitiesOnly
    LogLevel
    MACs
    NoHostAuthenticationForLocalhost
    NumberOfPasswordPrompts
    PasswordAuthentication
    Port
    PreferredAuthentications
    Protocol
    ProxyCommand
    PubkeyAuthentication
    RhostsRSAAuthentication
    RSAAuthentication
    ServerAliveInterval
    ServerAliveCountMax
    SmartcardDevice
    StrictHostKeyChecking
    TCPKeepAlive
    UsePrivilegedPort
    User
    UserKnownHostsFile
    VerifyHostKeyDNS

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

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

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

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

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

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

bye sftp を終了します。

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

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

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

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

exit
    sftp を終了します。

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

help
    ヘルプを表示します。

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

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

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

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

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

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

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

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

progress
    プログレスバーの表示/非表示を切り換えます。

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

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

quit
    sftp を終了します。

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

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

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

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

version
    sftp のプロトコルバージョン番号を表示します。

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

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

?   help と同じです。

関連項目
ftp(1), 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.

日本語訳
新山 祐介 (yusuke at cs . nyu . edu) 2002/6/21 (for 3.3 p1)

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