SFTP (1)

OpenSSH-5.6p1 日本語マニュアルページ (2010/08/27)


名前

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

書式

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

sftp [ユーザ @] ホスト [:file ]

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

sftp -b batchfile [ユーザ @] ホスト


説明

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

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

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

4 番目の書式は、-b オプションを使って自動化されたセッションを可能にします。この場合、接続時にパスワードを入力しなくてもいいように、対話的でない認証方式を使うように設定しておく必要があります (詳しくはsshd (8) およびssh-keygen (1) を参照してください)。

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

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

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

-4
sftp が IPv4 アドレスのみを使うよう強制します。

-6
sftp が IPv6 アドレスのみを使うよう強制します。

-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 フラグを利用します)。

-c 暗号
Selects the cipher to use for encrypting the data transfers.This option is directly passed tossh (1).

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

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

-i identityファイル
公開鍵認証のさいに identity (秘密鍵) を読むファイルを指定します。このオプションは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

PKCS11Provider

Port

PreferredAuthentications

Protocol

ProxyCommand

PubkeyAuthentication

RekeyLimit

RhostsRSAAuthentication

RSAAuthentication

SendEnv

ServerAliveInterval

ServerAliveCountMax

StrictHostKeyChecking

TCPKeepAlive

UsePrivilegedPort

User

UserKnownHostsFile

VerifyHostKeyDNS

-P ポート
リモートホストに接続するポートを指定します。

-p
ファイル転送時に、もとのファイルの最終修正時刻、最終アクセス時刻およびパーミッションもコピーします。

-q
静かなモード:進行状況バーを非表示にします。またssh (1) が表示する警告あるいは診断用メッセージも非表示にします。

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

-r
アップロードあるいはダウンロード時に、ディレクトリをまるごと再帰的に転送します。注意:sftp はツリー内に現れたシンボリック・リンクは追いません。

-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
[-Ppr ] リモートパス名 [ローカルパス名 ] リモートパス名 のファイルを取得し、ローカルマシン上に置きます。(訳注: ディレクトリを再帰的にまるごと get することはできません。)ローカルパス名が指定されていない場合、これはリモートマシン上でのファイル名と同じになります。リモートパス名glob (3) の特殊文字を含む場合は、複数のファイルを指定することができます。その場合、ローカルパス名 を指定しているときは、それがディレクトリ名である必要があります。

-P または-p フラグが指定された場合、そのファイルのパーミッションおよびアクセス時間までもすべてコピーされます。

-r フラグが指定された場合、ディレクトリは再帰的にコピーされます。注意:sftp は再帰的な転送時にもシンボリック・リンクを追跡することはありません。

help
ヘルプを表示します。

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

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

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

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

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

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

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

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

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

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

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

-h
詳細表示でファイルサイズの桁数が 4桁よりも多い場合、つぎの単位を使用します: Byte, Kilobyte,Megabyte, Gigabyte, Terabyte, Petabyte および Exabyte。これらの単位は 2のべき乗を使っています (K=1024, M=1048576 など)。

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

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

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

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

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

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

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

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

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

-P または-p フラグが指定された場合、そのファイルの全パーミッションおよびアクセス時間もコピーされます。

-r フラグが指定された場合、ディレクトリは再帰的にコピーされます。注意:sftp は再帰的な転送時にもシンボリック・リンクを追跡することはありません。

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)