SFTP (1)

OpenSSH-5.1p1 日本語マニュアルページ (2008/10/03)


名前

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

書式

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

sftp [ [ユーザ @] ホスト名 [:ファイル [ファイル ] ] ]

sftp [ [ユーザ @] ホスト名 [:ディレクトリ [/ ] ] ]

sftp -b バッチファイル [ユーザ @] ホスト名


説明

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

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

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

4 番目の書式は、-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,chown,
chgrp ,lpwd,df
および
lmkdir
コマンド名の前にプレフィックス `-' をつけることで、エラー時の強制終了を禁止することができます(例:
-rm /tmp/blah*
)。

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

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

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

AddressFamily

BatchMode

BindAddress

ChallengeResponseAuthentication

CheckHostIP

Cipher

Ciphers

Compression

CompressionLevel

ConnectionAttempts

ConnectTimeout

ControlMaster

ControlPath

GlobalKnownHostsFile

GSSAPIAuthentication

GSSAPIDelegateCredentials

HashKnownHosts

Host

HostbasedAuthentication

HostKeyAlgorithms

HostKeyAlias

HostName

IdentityFile

IdentitiesOnly

KbdInteractiveDevices

LogLevel

MACs

NoHostAuthenticationForLocalhost

NumberOfPasswordPrompts

PasswordAuthentication

Port

PreferredAuthentications

Protocol

ProxyCommand

PubkeyAuthentication

RekeyLimit

RhostsRSAAuthentication

RSAAuthentication

SendEnv

ServerAliveInterval

ServerAliveCountMax

SmartcardDevice

StrictHostKeyChecking

TCPKeepAlive

UsePrivilegedPort

User

UserKnownHostsFile

VerifyHostKeyDNS

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

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

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

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

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

対話的コマンド

sftp の対話的コマンドモードでは、ftp (1) に似たコマンドが使えます。これらのコマンドの大文字・小文字は区別されません。空白を含むパス名は引用符で囲む必要があります。パス名のなかにglob (3) によって認識される特殊文字が含まれているときは、それらをバックスラッシュ
`\'
でエスケープする必要があります。

bye
sftp を終了します。

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

chgrp グループID パス名
パス名 で指定されたファイルのグループをグループID に変更します。パス名glob (3) の特殊文字を含む場合は、複数のファイルを指定することができます。グループID は数値表現である必要があります。

chmod モード パス名
パス名 で指定されたファイルのパーミッションをモード に変更します。パス名glob (3) の特殊文字を含む場合は、複数のファイルを指定することができます。

chown ユーザID パス名
パス名 で指定されたファイルの所有者をユーザID に変更します。パス名glob (3) の特殊文字を含む場合は、複数のファイルを指定することができます。ユーザID は数値表現である必要があります。

df
[-hi ] [パス名 ] カレントディレクトリ (あるいはパス名 で指定されたディレクトリ) のあるファイルシステムの使用状況を表示します。-h フラグが指定されると、表示される情報は「可読な」サフィックスがついた形式になります。-i フラグが指定されると、使用量の情報に加えて iノードに関する情報も表示します。このコマンドは、"statvfs@openssh.com"拡張をサポートしているサーバでのみ使用可能になります。

exit
sftp を終了します。

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

help
ヘルプを表示します。

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

lls [lsオプション [パス名 ] ]
ローカルマシン上のパス名 のディレクトリ一覧を表示します。パス名 の指定がなければ、カレントディレクトリの一覧を表示します。lsオプション ではローカルシステムのls (1) コマンドでサポートされているフラグがすべて使えます。パス名glob (3) の特殊文字を含む場合は、複数のファイルを指定することができます。

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

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

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

ls
[-1aflnrSt ] [パス名 ] リモートマシン上のパス名 のディレクトリ一覧を表示します。パス名 の指定がなければ、カレントディレクトリの一覧を表示します。パス名glob (3) の特殊文字を含む場合は、複数のファイルを指定することができます。

以下のフラグを指定することで、

ls
のふるまいを変えることができます:

-1
出力を 1 カラムのみにします。

-a
ドット
`.'
で始まるファイルも表示します。

-f
ソートを禁止します。デフォルトでは、辞書順にソートされます。

-l
所有者やパーミッションなど、詳細な情報も表示します。

-n
ユーザ ID およびグループ ID を数値で表示します。

-r
ソートの順序を逆にします。

-S
ファイルサイズでソートします。

-t
最終更新時刻でソートします。

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

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

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

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

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

quit
sftp を終了します。

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

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

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

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

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

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

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

?
help と同じです。

関連項目

ftp (1), ls (1), scp (1), ssh (1), ssh-add (1), ssh-keygen (1), glob (3), ssh_config (5), sftp-server (8), sshd (8)