コマンドラインのマニュアル

Man » sftpマニュアルオンライン - sftp manページの詳細なオンラインドキュメント

🌍
sftp — OpenSSHセキュアファイル転送

構文

sftp [-46AaCfNpqrv] [-B バッファサイズ] [-b バッチファイル] [-c 暗号] [-D sftp_server_command]
[-F ssh_config] [-i 識別ファイル] [-J 宛先] [-l 制限] [-o ssh_オプション] [-P ポート]
[-R 要求数] [-S プログラム] [-s サブシステム | sftp_server] [-X sftp_オプション] 宛先

説明

sftpはファイル転送プログラムであり、ftp(1)に似ていますが、すべての操作は暗号化されたssh(1)トランスポートを介して実行されます。また、sshの多くの機能(公開鍵認証や圧縮など)も使用できます。

宛先は、[user@]host[:path]またはsftp://[user@]host[:port][/path]の形式で指定できます。

宛先にパスが含まれ、それがディレクトリでない場合、sftpは、非インタラクティブな認証方法が使用されると、ファイルを自動的に取得します。それ以外の場合は、インタラクティブな認証が成功した後で取得します。

パスが指定されていない場合、またはパスがディレクトリである場合、sftpは指定されたホストにログインし、インタラクティブなコマンドモードに入り、パスが指定されている場合はリモートディレクトリに変更します。末尾にスラッシュを付けることで、パスをディレクトリとして解釈するように強制できます。

宛先の形式では、コロン文字がホスト名とパス名またはポート番号を区切るため、IPv6アドレスは角括弧で囲む必要があります。

オプションは次のとおりです。

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

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

-A      ssh-agent(1)をリモートシステムに転送できるようにします。デフォルトでは、認証エージェントは転送されません。

-a      中断された転送を続行し、既存の部分的または完全なファイルのコピーを上書きしようとします。部分的なコンテンツが転送されているものと異なる場合、結果として得られるファイルはおそらく破損します。

-B バッファサイズ
sftpがファイル転送に使用するバッファーのサイズを指定します。大きなバッファーでは、より少ないラウンドトリップが必要ですが、より多くのメモリが消費されます。デフォルトは32768バイトです。

-b バッチファイル
バッチモードでは、stdinではなく、入力バッチファイルから一連のコマンドを読み取ります。ユーザーとの対話がないため、接続時にパスワードを入力する必要がないように、非インタラクティブな認証と組み合わせて使用​​する必要があります([sshd]({filename}../../sshd)(8)およびssh-keygen(1)を参照)。

「-」のバッチファイルを使用すると、標準入力を指定できます。sftpは、次のコマンドが失敗すると中止します。get、put、reget、reput、rename、ln、rm、mkdir、chdir、ls、lchdir、copy、cp、chmod、chown、chgrp、lpwd、df、symlink、およびlmkdir。

コマンドの実行時にエラーが発生した場合、コマンドの先頭に「-」文字を付けてエラーの発生を抑制できます(例:-rm /tmp/blah*)。コマンドのエコーを抑制するには、コマンドの先頭に「@」文字を付けます。これらの2つのプレフィックスは、任意の順序で組み合わせることができます。たとえば、-@ls /bsd などです。

-C
圧縮を有効にします(sshの-Cフラグを使用)。

-c cipher
データ転送の暗号化に使用する暗号を選択します。このオプションは、[ssh]({filename}../../ssh)(1)に直接渡されます。

-D sftp_server_command
ローカルのsftpサーバーに直接接続します([ssh]({filename}../../ssh)(1)を介さずに)。コマンドと引数を指定できます。たとえば、「/path/sftp-server -el debug3」などです。このオプションは、クライアントとサーバーのデバッグに役立つ場合があります。

-F ssh_config
[ssh]({filename}../../ssh)(1)の代替のユーザーごとの構成ファイルを指定します。このオプションは、[ssh]({filename}../../ssh)(1)に直接渡されます。

-f
ファイルが転送後にすぐにディスクにフラッシュされるように要求します。ファイルをアップロードする場合、この機能はサーバーが「_」拡張機能を実装している場合にのみ有効になります。

-i identity_file
パブリックキー認証に使用するID(秘密鍵)を読み込むファイルを選択します。このオプションは、[ssh]({filename}../../ssh)(1)に直接渡されます。

-J destination
ターゲットホストに接続するために、最初に説明されている宛先ホストにsftp接続を作成し、次にそこから最終的な宛先にTCPフォワーディングを確立します。複数のジャンプホップは、カンマで区切って指定できます。これは、ProxyJump構成ディレクティブを指定するためのショートカットです。このオプションは、[ssh]({filename}../../ssh)(1)に直接渡されます。

-l limit
使用する帯域幅をKbit/sで制限します。

-N
クワイエットモードを無効にします(たとえば、-bフラグによって設定された暗黙のクワイエットモードをオーバーライドするため)。

-o ssh_option
sshのオプションをssh_config(5)で使用される形式で渡すために使用できます。これは、sftpコマンドラインフラグがないオプションを指定する場合に役立ちます。たとえば、代替ポートを指定するには、sftp -oPort=24を使用します。以下にリストされているオプションとその可能な値の詳細については、ssh_config(5)を参照してください。

AddKeysToAgent
AddressFamily
BatchMode
BindAddress
BindInterface
CASignatureAlgorithms
CanonicalDomains
CanonicalizeFallbackLocal
CanonicalizeHostname
CanonicalizeMaxDots
CanonicalizePermittedCNAMEs
CertificateFile
ChannelTimeout
CheckHostIP
Ciphers
ClearAllForwardings
Compression
ConnectTimeout
ConnectionAttempts
ControlMaster
ControlPath
ControlPersist
DynamicForward
EnableEscapeCommandline
EnableSSHKeysign
EscapeChar
ExitOnForwardFailure
FingerprintHash
ForkAfterAuthentication
ForwardAgent
ForwardX11
ForwardX11Timeout
ForwardX11Trusted
GSSAPIAuthentication
GSSAPIDelegateCredentials
GatewayPorts
GlobalKnownHostsFile
HashKnownHosts
Host
HostKeyAlgorithms
HostKeyAlias
HostbasedAcceptedAlgorithms
HostbasedAuthentication
Hostname
IPQoS
IdentitiesOnly
IdentityAgent
IdentityFile
IgnoreUnknown
Include
KbdInteractiveAuthentication
KbdInteractiveDevices
KexAlgorithms
KnownHostsCommand
LocalCommand
LocalForward
LogLevel
LogVerbose
MACs
NoHostAuthenticationForLocalhost
NumberOfPasswordPrompts
ObscureKeystrokeTiming
PKCS11Provider
PasswordAuthentication
PermitLocalCommand
PermitRemoteOpen
Port
PreferredAuthentications
ProxyCommand
ProxyJump
ProxyUseFdpass
PubkeyAcceptedAlgorithms
PubkeyAuthentication
RekeyLimit
RemoteCommand
RemoteForward
RequestTTY
RequiredRSASize
RevokedHostKeys
SecurityKeyProvider
SendEnv
ServerAliveCountMax
ServerAliveInterval
SessionType
SetEnv
StdinNull
StreamLocalBindMask
StreamLocalBindUnlink
StrictHostKeyChecking
SyslogFacility
TCPKeepAlive
Tag
Tunnel
TunnelDevice
UpdateHostKeys
User
UserKnownHostsFile
VerifyHostKeyDNS
VisualHostKey
XAuthLocation

-P port

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

-p

元のファイルの変更時刻、アクセス時刻、およびモードを保持します。

-q

静音モード: プログレスメーターおよび ssh(1) からの警告および診断メッセージを無効にします。

-R num_requests

一度に実行できるリクエストの数を指定します。この数を増やすと、ファイル転送速度がわずかに向上する可能性がありますが、メモリ使用量も増加します。デフォルトは 64 のリクエストです。

-r

アップロードおよびダウンロード時に、ディレクトリ全体を再帰的にコピーします。sftp は、ツリートラバーサルで遭遇するシンボリックリンクを追跡しません。

-S program

暗号化された接続に使用するプログラムの名前。このプログラムは、ssh(1) オプションを理解している必要があります。

-s subsystem | sftp_server

リモートホスト上の SSH2 サブシステムまたは sftp サーバーのパスを指定します。パスは、リモート sshd(8) に sftp サブシステムが構成されていない場合に役立ちます。

-v

ロギングレベルを上げます。このオプションは ssh にも渡されます。

-X sftp_option

SFTP プロトコル動作の側面を制御するオプションを指定します。有効なオプションは次のとおりです。

nrequests=value

ダウンロードまたはアップロード中に、同時に進行中の SFTP 読み取りまたは書き込みリクエストの数を制御します。デフォルトでは、64 リクエストを同時にアクティブにできます。

buffer=value

ダウンロードまたはアップロード中に使用される、単一の SFTP 読み取り/書き込み操作の最大バッファサイズを制御します。デフォルトでは、32KB のバッファが使用されます。

対話型コマンド

対話モードに入ると、sftp は ftp(1) に似た一連のコマンドを理解します。コマンドは大文字と小文字を区別しません。スペースを含むパス名は、引用符で囲む必要があります。パス名に含まれる glob(3) によって認識される特殊文字は、バックスラッシュ ('\') でエスケープする必要があります。

bye

sftp を終了します。

cd [path]

リモートディレクトリを path に変更します。path が指定されていない場合、セッションが開始されたディレクトリに変更します。

chgrp [-h] grp path

ファイル path のグループを grp に変更します。path には glob(7) 文字を含めることができ、複数のファイルに一致する可能性があります。grp は数値の GID でなければなりません。

-h フラグが指定されている場合、シンボリックリンクはたどられません。これは、"_" 拡張機能を実装しているサーバーでのみサポートされます。

chmod [-h] mode path

ファイル path のパーミッションを mode に変更します。path には glob(7) 文字を含めることができ、複数のファイルに一致する可能性があります。

-h フラグが指定されている場合、シンボリックリンクはたどられません。これは、"_" 拡張機能を実装しているサーバーでのみサポートされます。

chown [-h] own path

ファイル path の所有者を own に変更します。path には glob(7) 文字を含めることができ、複数のファイルに一致する可能性があります。own は数値の UID でなければなりません。

-h フラグが指定されている場合、シンボリックリンクはたどられません。これは、"_" 拡張機能を実装しているサーバーでのみサポートされます。

copy oldpath newpath

リモートファイル oldpath を newpath にコピーします。

これは、"copy-data" 拡張機能を実装しているサーバーでのみサポートされます。

cp oldpath newpath

copy コマンドのエイリアス。

df [-hi] [path]

現在のディレクトリ(または、path が指定されている場合は path)を含むファイルシステムの利用状況情報を表示します。-h フラグが指定されている場合、容量情報は「人間が読みやすい」サフィックスを使用して表示されます。-i フラグは、容量情報に加えて inode 情報の表示を要求します。このコマンドは、"_" 拡張機能を実装しているサーバーでのみサポートされます。

exit

sftp を終了します。

get [-afpR] remote-path [local-path]

remote-path を取得し、ローカルマシンに保存します。ローカルパス名が指定されていない場合、リモートマシンと同じ名前が使用されます。remote-path には glob(7) 文字を含めることができ、複数のファイルに一致する可能性があります。その場合、local-path が指定されている場合、local-path はディレクトリを指定する必要があります。

-a フラグが指定されている場合、既存のファイルの部分的な転送を再開しようとします。再開では、ローカルファイルの既存の部分がリモートコピーと一致することを前提とします。リモートファイルの内容が部分的なローカルコピーと異なる場合、結果として得られるファイルはおそらく破損します。

-f フラグが指定されている場合、ファイル転送が完了した後に fsync(2) が呼び出され、ファイルをディスクにフラッシュします。

-p フラグが指定されている場合、完全なファイルパーミッションとアクセス時間がコピーされます。

-R フラグが指定されている場合、ディレクトリは再帰的にコピーされます。sftp は再帰的な転送時にシンボリックリンクをたどらないことに注意してください。

help

ヘルプテキストを表示します。

lcd [path]

ローカルディレクトリを path に変更します。path が指定されていない場合、ローカルユーザーのホームディレクトリに変更します。

lls [ls-options [path]]

ローカルディレクトリを、path が指定されていない場合は現在のディレクトリのリストとして表示します。ls-options には、ローカルシステムの ls(1) コマンドでサポートされている任意のフラグを含めることができます。path には glob(7) 文字を含めることができ、複数のファイルに一致する可能性があります。


lmkdir path
path で指定されたローカルディレクトリを作成します。

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

lpwd
ローカルの現在のディレクトリを表示します。

ls [-1afhlnrSt] [path]
path または、path が指定されていない場合は現在のディレクトリの、リモートディレクトリのリストを表示します。path には glob(7) 文字を含めることができ、複数のファイルに一致する場合があります。

次のフラグが認識され、それに応じて ls の動作が変更されます。

-1
単一の列形式で出力します。

-a
ドット (.) で始まるファイルもリスト表示します。

-f
リストをソートしません。デフォルトのソート順は辞書順です。

-h
長い形式のオプションで使用すると、単位の接尾辞を使用します。バイト、キロバイト、メガバイト、ギガバイト、テラバイト、ペタバイト、エクサバイトです。これにより、サイズの桁数を 4 桁以下に減らし、2 の累乗を使用します (K=1024、M=1048576 など)。

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

-n
長い形式のリストを表示し、ユーザーとグループの情報を数値で表示します。

-r
リストのソート順を逆転します。

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

-t
最終更新時間でリストをソートします。

lumask umask
ローカルの umask を umask に設定します。

mkdir path
リモートの path で指定されたディレクトリを作成します。

progress
プログレスメーターの表示を切り替えます。

put [-afpR] local-path [remote-path]
local-path をアップロードし、リモートマシンに保存します。リモートパス名が指定されていない場合、ローカルマシンと同じ名前になります。local-path には glob(7) 文字を含めることができ、複数のファイルに一致する場合があります。その場合、remote-path が指定されている場合、remote-path はディレクトリを指定する必要があります。

-a フラグが指定されている場合、既存のファイルの部分的転送を再開しようとします。ただし、再開は、リモートファイルの部分的コピーがローカルコピーと一致することを前提としています。ローカルファイルの内容がリモートのローカルコピーと異なる場合、結果のファイルは破損する可能性があります。

-f フラグが指定されている場合、ファイルが転送された後にサーバーに fsync(2) を呼び出す要求が送信されます。ただし、これは "_" 拡張機能を実装するサーバーでのみサポートされます。

-p フラグが指定されている場合、完全なファイルパーミッションとアクセス時間がコピーされます。

-R フラグが指定されている場合、ディレクトリは再帰的にコピーされます。sftp は再帰的な転送を実行するときに、シンボリックリンクをたどらないことに注意してください。

pwd
リモートの現在のディレクトリを表示します。

quit
sftp を終了します。

reget [-fpR] remote-path [local-path]
remote-path のダウンロードを再開します。-a フラグが設定された get と同じです。

reput [-fpR] local-path [remote-path]
local-path のアップロードを再開します。-a フラグが設定された put と同じです。

rename oldpath newpath

リモートファイルを oldpath から newpath に名前変更します。

rm path

指定されたパスのリモートファイルを削除します。

rmdir path

指定されたパスのリモートディレクトリを削除します。

symlink oldpath newpath

oldpath から newpath へのシンボリックリンクを作成します。

version

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

!command

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

!

ローカルシェルにエスケープします。

?

help と同じ意味です。

関連項目

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

T. Ylonen および S. Lehtinen、SSH File Transfer Protocol、draft-ietf-secsh-filexfer-00.txt、2001年1月、作業中の資料。