OSDN Git Service

release-request-6db00e04-e62d-4e43-807a-a9cc1185dcbb-for-git_oc-mr1-release-4136929...
[android-x86/external-openssh.git] / sftp.0
1 SFTP(1)                     General Commands Manual                    SFTP(1)
2
3 NAME
4      sftp M-bM-^@M-^S secure file transfer program
5
6 SYNOPSIS
7      sftp [-1246aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
8           [-D sftp_server_path] [-F ssh_config] [-i identity_file] [-l limit]
9           [-o ssh_option] [-P port] [-R num_requests] [-S program]
10           [-s subsystem | sftp_server] host
11      sftp [user@]host[:file ...]
12      sftp [user@]host[:dir[/]]
13      sftp -b batchfile [user@]host
14
15 DESCRIPTION
16      sftp is an interactive file transfer program, similar to ftp(1), which
17      performs all operations over an encrypted ssh(1) transport.  It may also
18      use many features of ssh, such as public key authentication and
19      compression.  sftp connects and logs into the specified host, then enters
20      an interactive command mode.
21
22      The second usage format will retrieve files automatically if a non-
23      interactive authentication method is used; otherwise it will do so after
24      successful interactive authentication.
25
26      The third usage format allows sftp to start in a remote directory.
27
28      The final usage format allows for automated sessions using the -b option.
29      In such cases, it is necessary to configure non-interactive
30      authentication to obviate the need to enter a password at connection time
31      (see sshd(8) and ssh-keygen(1) for details).
32
33      Since some usage formats use colon characters to delimit host names from
34      path names, IPv6 addresses must be enclosed in square brackets to avoid
35      ambiguity.
36
37      The options are as follows:
38
39      -1      Specify the use of protocol version 1.
40
41      -2      Specify the use of protocol version 2.
42
43      -4      Forces sftp to use IPv4 addresses only.
44
45      -6      Forces sftp to use IPv6 addresses only.
46
47      -a      Attempt to continue interrupted transfers rather than overwriting
48              existing partial or complete copies of files.  If the partial
49              contents differ from those being transferred, then the resultant
50              file is likely to be corrupt.
51
52      -B buffer_size
53              Specify the size of the buffer that sftp uses when transferring
54              files.  Larger buffers require fewer round trips at the cost of
55              higher memory consumption.  The default is 32768 bytes.
56
57      -b batchfile
58              Batch mode reads a series of commands from an input batchfile
59              instead of stdin.  Since it lacks user interaction it should be
60              used in conjunction with non-interactive authentication.  A
61              batchfile of M-bM-^@M-^X-M-bM-^@M-^Y may be used to indicate standard input.  sftp
62              will abort if any of the following commands fail: get, put,
63              reget, reput, rename, ln, rm, mkdir, chdir, ls, lchdir, chmod,
64              chown, chgrp, lpwd, df, symlink, and lmkdir.  Termination on
65              error can be suppressed on a command by command basis by
66              prefixing the command with a M-bM-^@M-^X-M-bM-^@M-^Y character (for example, -rm
67              /tmp/blah*).
68
69      -C      Enables compression (via ssh's -C flag).
70
71      -c cipher
72              Selects the cipher to use for encrypting the data transfers.
73              This option is directly passed to ssh(1).
74
75      -D sftp_server_path
76              Connect directly to a local sftp server (rather than via ssh(1)).
77              This option may be useful in debugging the client and server.
78
79      -F ssh_config
80              Specifies an alternative per-user configuration file for ssh(1).
81              This option is directly passed to ssh(1).
82
83      -f      Requests that files be flushed to disk immediately after
84              transfer.  When uploading files, this feature is only enabled if
85              the server implements the "fsync@openssh.com" extension.
86
87      -i identity_file
88              Selects the file from which the identity (private key) for public
89              key authentication is read.  This option is directly passed to
90              ssh(1).
91
92      -l limit
93              Limits the used bandwidth, specified in Kbit/s.
94
95      -o ssh_option
96              Can be used to pass options to ssh in the format used in
97              ssh_config(5).  This is useful for specifying options for which
98              there is no separate sftp command-line flag.  For example, to
99              specify an alternate port use: sftp -oPort=24.  For full details
100              of the options listed below, and their possible values, see
101              ssh_config(5).
102
103                    AddressFamily
104                    BatchMode
105                    BindAddress
106                    CanonicalDomains
107                    CanonicalizeFallbackLocal
108                    CanonicalizeHostname
109                    CanonicalizeMaxDots
110                    CanonicalizePermittedCNAMEs
111                    CertificateFile
112                    ChallengeResponseAuthentication
113                    CheckHostIP
114                    Cipher
115                    Ciphers
116                    Compression
117                    CompressionLevel
118                    ConnectionAttempts
119                    ConnectTimeout
120                    ControlMaster
121                    ControlPath
122                    ControlPersist
123                    GlobalKnownHostsFile
124                    GSSAPIAuthentication
125                    GSSAPIDelegateCredentials
126                    HashKnownHosts
127                    Host
128                    HostbasedAuthentication
129                    HostbasedKeyTypes
130                    HostKeyAlgorithms
131                    HostKeyAlias
132                    HostName
133                    IdentitiesOnly
134                    IdentityAgent
135                    IdentityFile
136                    IPQoS
137                    KbdInteractiveAuthentication
138                    KbdInteractiveDevices
139                    KexAlgorithms
140                    LogLevel
141                    MACs
142                    NoHostAuthenticationForLocalhost
143                    NumberOfPasswordPrompts
144                    PasswordAuthentication
145                    PKCS11Provider
146                    Port
147                    PreferredAuthentications
148                    Protocol
149                    ProxyCommand
150                    ProxyJump
151                    PubkeyAuthentication
152                    RekeyLimit
153                    RhostsRSAAuthentication
154                    RSAAuthentication
155                    SendEnv
156                    ServerAliveInterval
157                    ServerAliveCountMax
158                    StrictHostKeyChecking
159                    TCPKeepAlive
160                    UpdateHostKeys
161                    UsePrivilegedPort
162                    User
163                    UserKnownHostsFile
164                    VerifyHostKeyDNS
165
166      -P port
167              Specifies the port to connect to on the remote host.
168
169      -p      Preserves modification times, access times, and modes from the
170              original files transferred.
171
172      -q      Quiet mode: disables the progress meter as well as warning and
173              diagnostic messages from ssh(1).
174
175      -R num_requests
176              Specify how many requests may be outstanding at any one time.
177              Increasing this may slightly improve file transfer speed but will
178              increase memory usage.  The default is 64 outstanding requests.
179
180      -r      Recursively copy entire directories when uploading and
181              downloading.  Note that sftp does not follow symbolic links
182              encountered in the tree traversal.
183
184      -S program
185              Name of the program to use for the encrypted connection.  The
186              program must understand ssh(1) options.
187
188      -s subsystem | sftp_server
189              Specifies the SSH2 subsystem or the path for an sftp server on
190              the remote host.  A path is useful for using sftp over protocol
191              version 1, or when the remote sshd(8) does not have an sftp
192              subsystem configured.
193
194      -v      Raise logging level.  This option is also passed to ssh.
195
196 INTERACTIVE COMMANDS
197      Once in interactive mode, sftp understands a set of commands similar to
198      those of ftp(1).  Commands are case insensitive.  Pathnames that contain
199      spaces must be enclosed in quotes.  Any special characters contained
200      within pathnames that are recognized by glob(3) must be escaped with
201      backslashes (M-bM-^@M-^X\M-bM-^@M-^Y).
202
203      bye     Quit sftp.
204
205      cd path
206              Change remote directory to path.
207
208      chgrp grp path
209              Change group of file path to grp.  path may contain glob(3)
210              characters and may match multiple files.  grp must be a numeric
211              GID.
212
213      chmod mode path
214              Change permissions of file path to mode.  path may contain
215              glob(3) characters and may match multiple files.
216
217      chown own path
218              Change owner of file path to own.  path may contain glob(3)
219              characters and may match multiple files.  own must be a numeric
220              UID.
221
222      df [-hi] [path]
223              Display usage information for the filesystem holding the current
224              directory (or path if specified).  If the -h flag is specified,
225              the capacity information will be displayed using "human-readable"
226              suffixes.  The -i flag requests display of inode information in
227              addition to capacity information.  This command is only supported
228              on servers that implement the M-bM-^@M-^\statvfs@openssh.comM-bM-^@M-^] extension.
229
230      exit    Quit sftp.
231
232      get [-afPpr] remote-path [local-path]
233              Retrieve the remote-path and store it on the local machine.  If
234              the local path name is not specified, it is given the same name
235              it has on the remote machine.  remote-path may contain glob(3)
236              characters and may match multiple files.  If it does and
237              local-path is specified, then local-path must specify a
238              directory.
239
240              If the -a flag is specified, then attempt to resume partial
241              transfers of existing files.  Note that resumption assumes that
242              any partial copy of the local file matches the remote copy.  If
243              the remote file contents differ from the partial local copy then
244              the resultant file is likely to be corrupt.
245
246              If the -f flag is specified, then fsync(2) will be called after
247              the file transfer has completed to flush the file to disk.
248
249              If either the -P or -p flag is specified, then full file
250              permissions and access times are copied too.
251
252              If the -r flag is specified then directories will be copied
253              recursively.  Note that sftp does not follow symbolic links when
254              performing recursive transfers.
255
256      help    Display help text.
257
258      lcd path
259              Change local directory to path.
260
261      lls [ls-options [path]]
262              Display local directory listing of either path or current
263              directory if path is not specified.  ls-options may contain any
264              flags supported by the local system's ls(1) command.  path may
265              contain glob(3) characters and may match multiple files.
266
267      lmkdir path
268              Create local directory specified by path.
269
270      ln [-s] oldpath newpath
271              Create a link from oldpath to newpath.  If the -s flag is
272              specified the created link is a symbolic link, otherwise it is a
273              hard link.
274
275      lpwd    Print local working directory.
276
277      ls [-1afhlnrSt] [path]
278              Display a remote directory listing of either path or the current
279              directory if path is not specified.  path may contain glob(3)
280              characters and may match multiple files.
281
282              The following flags are recognized and alter the behaviour of ls
283              accordingly:
284
285              -1      Produce single columnar output.
286
287              -a      List files beginning with a dot (M-bM-^@M-^X.M-bM-^@M-^Y).
288
289              -f      Do not sort the listing.  The default sort order is
290                      lexicographical.
291
292              -h      When used with a long format option, use unit suffixes:
293                      Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte,
294                      and Exabyte in order to reduce the number of digits to
295                      four or fewer using powers of 2 for sizes (K=1024,
296                      M=1048576, etc.).
297
298              -l      Display additional details including permissions and
299                      ownership information.
300
301              -n      Produce a long listing with user and group information
302                      presented numerically.
303
304              -r      Reverse the sort order of the listing.
305
306              -S      Sort the listing by file size.
307
308              -t      Sort the listing by last modification time.
309
310      lumask umask
311              Set local umask to umask.
312
313      mkdir path
314              Create remote directory specified by path.
315
316      progress
317              Toggle display of progress meter.
318
319      put [-afPpr] local-path [remote-path]
320              Upload local-path and store it on the remote machine.  If the
321              remote path name is not specified, it is given the same name it
322              has on the local machine.  local-path may contain glob(3)
323              characters and may match multiple files.  If it does and
324              remote-path is specified, then remote-path must specify a
325              directory.
326
327              If the -a flag is specified, then attempt to resume partial
328              transfers of existing files.  Note that resumption assumes that
329              any partial copy of the remote file matches the local copy.  If
330              the local file contents differ from the remote local copy then
331              the resultant file is likely to be corrupt.
332
333              If the -f flag is specified, then a request will be sent to the
334              server to call fsync(2) after the file has been transferred.
335              Note that this is only supported by servers that implement the
336              "fsync@openssh.com" extension.
337
338              If either the -P or -p flag is specified, then full file
339              permissions and access times are copied too.
340
341              If the -r flag is specified then directories will be copied
342              recursively.  Note that sftp does not follow symbolic links when
343              performing recursive transfers.
344
345      pwd     Display remote working directory.
346
347      quit    Quit sftp.
348
349      reget [-Ppr] remote-path [local-path]
350              Resume download of remote-path.  Equivalent to get with the -a
351              flag set.
352
353      reput [-Ppr] [local-path] remote-path
354              Resume upload of [local-path].  Equivalent to put with the -a
355              flag set.
356
357      rename oldpath newpath
358              Rename remote file from oldpath to newpath.
359
360      rm path
361              Delete remote file specified by path.
362
363      rmdir path
364              Remove remote directory specified by path.
365
366      symlink oldpath newpath
367              Create a symbolic link from oldpath to newpath.
368
369      version
370              Display the sftp protocol version.
371
372      !command
373              Execute command in local shell.
374
375      !       Escape to local shell.
376
377      ?       Synonym for help.
378
379 SEE ALSO
380      ftp(1), ls(1), scp(1), ssh(1), ssh-add(1), ssh-keygen(1), glob(3),
381      ssh_config(5), sftp-server(8), sshd(8)
382
383      T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
384      filexfer-00.txt, January 2001, work in progress material.
385
386 OpenBSD 6.0                      July 16, 2016                     OpenBSD 6.0