SFTP (1)

OpenSSH-7.3p1 日本語マニュアルページ (2016/10/15)


名前

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

書式

sftp [-1246aCfpqrv ] [-B バッファサイズ ] [-b バッチファイル ] [-c 暗号 ] [-D sftpサーバパス ] [-F ssh設定ファイル ] [-i identityファイル ] [-l 制限 ] [-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) を参照してください)。

書式によっては、ホスト名とパス名の区切りにコロン (:) を使うことがあるため、IPv6 アドレスを使用する場合は曖昧さを避けるためにブラケット ([]) で囲む必要があります。

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

-1
プロトコル 1 を使用します。

-2
プロトコル 2 を使用します。

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

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

-a
すでに存在する部分的あるいは完全なファイルのコピーを上書きせず、中断した転送の再開を試みます。リモートファイルの中身が転送中の部分的なコピーと異なっている場合、結果として生じるファイルは正しくない可能性があります。

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

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

-f
ファイル転送が完了した後に、そのファイルを即座にディスクに書き込む(flushする)よう要求します。ファイルをアップロードする際には、注意: この機能は、サーバ側が"fsync@openssh.com" 機能拡張を実装しているときのみ有効です。

-i identityファイル
公開鍵認証のさいに identity (秘密鍵) を読むファイルを指定します。このオプションはssh (1) に直接渡されます。

-l 制限
帯域を制限します。Kbit/s で指定します。

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

AddressFamily

BatchMode

BindAddress

CanonicalDomains

CanonicalizeFallbackLocal

CanonicalizeHostname

CanonicalizeMaxDots

CanonicalizePermittedCNAMEs

CertificateFile

ChallengeResponseAuthentication

CheckHostIP

Cipher

Ciphers

Compression

CompressionLevel

ConnectionAttempts

ConnectTimeout

ControlMaster

ControlPath

ControlPersist

GlobalKnownHostsFile

GSSAPIAuthentication

GSSAPIDelegateCredentials

HashKnownHosts

Host

HostbasedAuthentication

HostbasedKeyTypes

HostKeyAlgorithms

HostKeyAlias

HostName

IdentitiesOnly

IdentityAgent

IdentityFile

IPQoS

KbdInteractiveAuthentication

KbdInteractiveDevices

KexAlgorithms

LogLevel

MACs

NoHostAuthenticationForLocalhost

NumberOfPasswordPrompts

PasswordAuthentication

PKCS11Provider

Port

PreferredAuthentications

Protocol

ProxyCommand

ProxyJump

PubkeyAuthentication

RekeyLimit

RhostsRSAAuthentication

RSAAuthentication

SendEnv

ServerAliveInterval

ServerAliveCountMax

StrictHostKeyChecking

TCPKeepAlive

UpdateHostKeys

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

-a フラグが指定された場合、すでに部分的に転送されているファイルを再開しようとします。注意: 転送の再開をする場合は、すでに存在するローカルなファイルの内容とリモートの内容が一致する必要があります。これらの内容が異なる場合、結果として生じるファイルは正しくないことがあります。

-f フラグが指定された場合、ファイル転送が完了した後に、ファイル内容をディスクに flush するためfsync (2) が呼ばれます。

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

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

help
ヘルプを表示します。

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

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

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

ln
[-s ] 古いパス名 新しいパス名 古いパス名 から新しいパス名 へのシンボリックリンクを作成します。-s フラグが指定されている場合、そのリンクはシンボリックリンクになります。そうでない場合はハードリンクが作成されます。

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

-a が指定された場合、すでに存在する部分的あるいは完全なファイルのコピーを上書きせず、中断した転送の再開を試みます。注意: リモートファイルの中身が転送中の部分的なコピーと異なっている場合、結果として生じるファイルは正しくない可能性があります。

-f フラグが指定された場合、ファイル転送が完了した後に、サーバに対してfsync (2) を呼ぶよう要求が送られます。注意: この機能は、サーバ側が"fsync@openssh.com" 機能拡張を実装しているときのみ有効です。

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

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

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

quit
sftp を終了します。

reget
[-Ppr ] リモートパス名 [ローカルパス名 ] リモートパス名 にあるファイルのダウンロードを再開します。
get
コマンドに-a フラグを指定したのと同じです。

reput
[-Ppr ] [ローカルパス名 ] リモートパス名 [ローカルパス名 ] にあるファイルのアップロードを再開します。
put
コマンドに-a フラグを指定したのと同じです。

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)