]> andersk Git - openssh.git/blame - sftp.1
- djm@cvs.openbsd.org 2008/12/09 04:32:22
[openssh.git] / sftp.1
CommitLineData
83cd8c39 1.\" $OpenBSD: sftp.1,v 1.68 2008/12/09 03:02:37 djm Exp $
61e96248 2.\"
f3c7c613 3.\" Copyright (c) 2001 Damien Miller. All rights reserved.
61e96248 4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\" notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\" notice, this list of conditions and the following disclaimer in the
12.\" documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24.\"
e473dcd1 25.Dd $Mdocdate$
61e96248 26.Dt SFTP 1
27.Os
28.Sh NAME
29.Nm sftp
bd47824b 30.Nd secure file transfer program
61e96248 31.Sh SYNOPSIS
72c5fe79 32.Nm sftp
a4e5acef 33.Bk -words
433e60ac 34.Op Fl 1Cv
7d5e8c46 35.Op Fl B Ar buffer_size
433e60ac 36.Op Fl b Ar batchfile
7d5e8c46 37.Op Fl F Ar ssh_config
433e60ac 38.Op Fl o Ar ssh_option
39.Op Fl P Ar sftp_server_path
c25d3df7 40.Op Fl R Ar num_requests
e3c1c3e6 41.Op Fl S Ar program
433e60ac 42.Op Fl s Ar subsystem | sftp_server
e3c1c3e6 43.Ar host
a4e5acef 44.Ek
72c5fe79 45.Nm sftp
83cd8c39 46.Oo Ar user Ns @ Oc Ns
47.Ar host Ns Op : Ns Ar
72c5fe79 48.Nm sftp
83cd8c39 49.Oo Ar user Ns @ Oc Ns
a4e5acef 50.Ar host Ns Oo : Ns Ar dir Ns
83cd8c39 51.Oo Ar / Oc Oc
72c5fe79 52.Nm sftp
81466908 53.Fl b Ar batchfile
d0445371 54.Oo Ar user Ns @ Oc Ns Ar host
61e96248 55.Sh DESCRIPTION
56.Nm
57is an interactive file transfer program, similar to
58.Xr ftp 1 ,
59which performs all operations over an encrypted
60.Xr ssh 1
61transport.
62It may also use many features of ssh, such as public key authentication and
63compression.
64.Nm
65connects and logs into the specified
cf7ff074 66.Ar host ,
61e96248 67then enters an interactive command mode.
68.Pp
3730bb22 69The second usage format will retrieve files automatically if a non-interactive
cf7ff074 70authentication method is used; otherwise it will do so after
71successful interactive authentication.
edeeab1e 72.Pp
f9d52dd1 73The third usage format allows
74.Nm
75to start in a remote directory.
edeeab1e 76.Pp
bd47824b 77The final usage format allows for automated sessions using the
81466908 78.Fl b
bd47824b 79option.
3da242db 80In such cases, it is necessary to configure non-interactive authentication
bd47824b 81to obviate the need to enter a password at connection time (see
81466908 82.Xr sshd 8
72c5fe79 83and
81466908 84.Xr ssh-keygen 1
bd47824b 85for details).
61e96248 86The options are as follows:
87.Bl -tag -width Ds
433e60ac 88.It Fl 1
89Specify the use of protocol version 1.
90.It Fl B Ar buffer_size
91Specify the size of the buffer that
92.Nm
93uses when transferring files.
94Larger buffers require fewer round trips at the cost of higher
95memory consumption.
96The default is 32768 bytes.
a5ec8a3d 97.It Fl b Ar batchfile
98Batch mode reads a series of commands from an input
acf06a60 99.Ar batchfile
a5ec8a3d 100instead of
acf06a60 101.Em stdin .
102Since it lacks user interaction it should be used in conjunction with
f74de0d7 103non-interactive authentication.
a8b64bb8 104A
f74de0d7 105.Ar batchfile
106of
107.Sq \-
a8b64bb8 108may be used to indicate standard input.
acf06a60 109.Nm
3730bb22 110will abort if any of the following
111commands fail:
7e35f994 112.Ic get , put , rename , ln ,
a4e5acef 113.Ic rm , mkdir , chdir , ls ,
ea530517 114.Ic lchdir , chmod , chown ,
115.Ic chgrp , lpwd , df ,
a5ec8a3d 116and
acf06a60 117.Ic lmkdir .
a4e5acef 118Termination on error can be suppressed on a command by command basis by
119prefixing the command with a
f74de0d7 120.Sq \-
bd47824b 121character (for example,
122.Ic -rm /tmp/blah* ) .
433e60ac 123.It Fl C
124Enables compression (via ssh's
125.Fl C
126flag).
127.It Fl F Ar ssh_config
128Specifies an alternative
129per-user configuration file for
130.Xr ssh 1 .
131This option is directly passed to
132.Xr ssh 1 .
61e96248 133.It Fl o Ar ssh_option
38539909 134Can be used to pass options to
135.Nm ssh
c21a7c4a 136in the format used in
137.Xr ssh_config 5 .
138This is useful for specifying options
38539909 139for which there is no separate
140.Nm sftp
bd47824b 141command-line flag.
142For example, to specify an alternate port use:
e3c1c3e6 143.Ic sftp -oPort=24 .
433e60ac 144For full details of the options listed below, and their possible values, see
145.Xr ssh_config 5 .
146.Pp
147.Bl -tag -width Ds -offset indent -compact
148.It AddressFamily
149.It BatchMode
150.It BindAddress
151.It ChallengeResponseAuthentication
152.It CheckHostIP
153.It Cipher
154.It Ciphers
433e60ac 155.It Compression
156.It CompressionLevel
157.It ConnectionAttempts
927fcba2 158.It ConnectTimeout
5e96b616 159.It ControlMaster
160.It ControlPath
433e60ac 161.It GlobalKnownHostsFile
162.It GSSAPIAuthentication
163.It GSSAPIDelegateCredentials
ba9d1100 164.It HashKnownHosts
433e60ac 165.It Host
166.It HostbasedAuthentication
167.It HostKeyAlgorithms
168.It HostKeyAlias
169.It HostName
170.It IdentityFile
3a065ed0 171.It IdentitiesOnly
396070f8 172.It KbdInteractiveDevices
433e60ac 173.It LogLevel
174.It MACs
175.It NoHostAuthenticationForLocalhost
176.It NumberOfPasswordPrompts
177.It PasswordAuthentication
178.It Port
179.It PreferredAuthentications
180.It Protocol
181.It ProxyCommand
182.It PubkeyAuthentication
db175906 183.It RekeyLimit
433e60ac 184.It RhostsRSAAuthentication
185.It RSAAuthentication
8e99a198 186.It SendEnv
5d8d32a3 187.It ServerAliveInterval
188.It ServerAliveCountMax
433e60ac 189.It SmartcardDevice
190.It StrictHostKeyChecking
fd573618 191.It TCPKeepAlive
433e60ac 192.It UsePrivilegedPort
193.It User
194.It UserKnownHostsFile
195.It VerifyHostKeyDNS
433e60ac 196.El
197.It Fl P Ar sftp_server_path
bd47824b 198Connect directly to a local sftp server
7d5e8c46 199(rather than via
281cf948 200.Xr ssh 1 ) .
7d5e8c46 201This option may be useful in debugging the client and server.
c25d3df7 202.It Fl R Ar num_requests
bd47824b 203Specify how many requests may be outstanding at any one time.
204Increasing this may slightly improve file transfer speed
205but will increase memory usage.
b8c9ea19 206The default is 64 outstanding requests.
e3c1c3e6 207.It Fl S Ar program
208Name of the
209.Ar program
210to use for the encrypted connection.
211The program must understand
212.Xr ssh 1
213options.
433e60ac 214.It Fl s Ar subsystem | sftp_server
215Specifies the SSH2 subsystem or the path for an sftp server
216on the remote host.
217A path is useful for using
218.Nm
219over protocol version 1, or when the remote
220.Xr sshd 8
221does not have an sftp subsystem configured.
222.It Fl v
223Raise logging level.
224This option is also passed to ssh.
61e96248 225.El
226.Sh INTERACTIVE COMMANDS
0426a3b4 227Once in interactive mode,
228.Nm
3730bb22 229understands a set of commands similar to those of
61e96248 230.Xr ftp 1 .
f9d52dd1 231Commands are case insensitive.
232Pathnames that contain spaces must be enclosed in quotes.
233Any special characters contained within pathnames that are recognized by
234.Xr glob 3
235must be escaped with backslashes
236.Pq Sq \e .
237.Bl -tag -width Ds
68874d2b 238.It Ic bye
bd47824b 239Quit
240.Nm sftp .
0426a3b4 241.It Ic cd Ar path
3730bb22 242Change remote directory to
0426a3b4 243.Ar path .
0426a3b4 244.It Ic chgrp Ar grp Ar path
3730bb22 245Change group of file
0426a3b4 246.Ar path
247to
61e96248 248.Ar grp .
f9d52dd1 249.Ar path
250may contain
251.Xr glob 3
252characters and may match multiple files.
61e96248 253.Ar grp
0426a3b4 254must be a numeric GID.
255.It Ic chmod Ar mode Ar path
3730bb22 256Change permissions of file
0426a3b4 257.Ar path
258to
259.Ar mode .
f9d52dd1 260.Ar path
261may contain
262.Xr glob 3
263characters and may match multiple files.
0426a3b4 264.It Ic chown Ar own Ar path
3730bb22 265Change owner of file
0426a3b4 266.Ar path
267to
61e96248 268.Ar own .
f9d52dd1 269.Ar path
270may contain
271.Xr glob 3
272characters and may match multiple files.
61e96248 273.Ar own
274must be a numeric UID.
360b43ab 275.It Xo Ic df
276.Op Fl hi
277.Op Ar path
278.Xc
279Display usage information for the filesystem holding the current directory
280(or
281.Ar path
282if specified).
283If the
284.Fl h
285flag is specified, the capacity information will be displayed using
286"human-readable" suffixes.
287The
288.Fl i
289flag requests display of inode information in addition to capacity information.
290This command is only supported on servers that implement the
291.Dq statvfs@openssh.com
292extension.
17910dce 293.It Ic exit
bd47824b 294Quit
295.Nm sftp .
58c54a79 296.It Xo Ic get
f9d52dd1 297.Op Fl P
58c54a79 298.Ar remote-path
299.Op Ar local-path
300.Xc
61e96248 301Retrieve the
0426a3b4 302.Ar remote-path
61e96248 303and store it on the local machine.
304If the local
3730bb22 305path name is not specified, it is given the same name it has on the
bd47824b 306remote machine.
f9d52dd1 307.Ar remote-path
308may contain
309.Xr glob 3
310characters and may match multiple files.
311If it does and
312.Ar local-path
313is specified, then
314.Ar local-path
315must specify a directory.
bd47824b 316If the
58c54a79 317.Fl P
f9d52dd1 318flag is specified, then full file permissions and access times are
58c54a79 319copied too.
17910dce 320.It Ic help
321Display help text.
433e60ac 322.It Ic lcd Ar path
323Change local directory to
324.Ar path .
0426a3b4 325.It Ic lls Op Ar ls-options Op Ar path
3730bb22 326Display local directory listing of either
61e96248 327.Ar path
328or current directory if
329.Ar path
0426a3b4 330is not specified.
f9d52dd1 331.Ar ls-options
332may contain any flags supported by the local system's
333.Xr ls 1
334command.
335.Ar path
336may contain
337.Xr glob 3
338characters and may match multiple files.
0426a3b4 339.It Ic lmkdir Ar path
61e96248 340Create local directory specified by
0426a3b4 341.Ar path .
3a7fe5ba 342.It Ic ln Ar oldpath Ar newpath
3730bb22 343Create a symbolic link from
3a7fe5ba 344.Ar oldpath
345to
346.Ar newpath .
0426a3b4 347.It Ic lpwd
348Print local working directory.
00b3ad3e 349.It Xo Ic ls
f9d52dd1 350.Op Fl 1aflnrSt
00b3ad3e 351.Op Ar path
352.Xc
f9d52dd1 353Display a remote directory listing of either
61e96248 354.Ar path
f9d52dd1 355or the current directory if
0426a3b4 356.Ar path
bd47824b 357is not specified.
f9d52dd1 358.Ar path
359may contain
360.Xr glob 3
361characters and may match multiple files.
c4c84934 362.Pp
f9d52dd1 363The following flags are recognized and alter the behaviour of
c4c84934 364.Ic ls
f9d52dd1 365accordingly:
366.Bl -tag -width Ds
367.It Fl 1
368Produce single columnar output.
369.It Fl a
370List files beginning with a dot
371.Pq Sq \&. .
372.It Fl f
373Do not sort the listing.
374The default sort order is lexicographical.
375.It Fl l
376Display additional details including permissions
377and ownership information.
378.It Fl n
379Produce a long listing with user and group information presented
380numerically.
381.It Fl r
382Reverse the sort order of the listing.
383.It Fl S
384Sort the listing by file size.
385.It Fl t
386Sort the listing by last modification time.
387.El
0426a3b4 388.It Ic lumask Ar umask
3730bb22 389Set local umask to
0426a3b4 390.Ar umask .
391.It Ic mkdir Ar path
61e96248 392Create remote directory specified by
0426a3b4 393.Ar path .
b65c3807 394.It Ic progress
395Toggle display of progress meter.
58c54a79 396.It Xo Ic put
f9d52dd1 397.Op Fl P
58c54a79 398.Ar local-path
2ea16b0b 399.Op Ar remote-path
58c54a79 400.Xc
61e96248 401Upload
0426a3b4 402.Ar local-path
bd47824b 403and store it on the remote machine.
404If the remote path name is not specified, it is given the same name it has
405on the local machine.
f9d52dd1 406.Ar local-path
407may contain
408.Xr glob 3
409characters and may match multiple files.
410If it does and
411.Ar remote-path
412is specified, then
413.Ar remote-path
414must specify a directory.
bd47824b 415If the
58c54a79 416.Fl P
417flag is specified, then the file's full permission and access time are
418copied too.
0426a3b4 419.It Ic pwd
420Display remote working directory.
0426a3b4 421.It Ic quit
bd47824b 422Quit
423.Nm sftp .
0426a3b4 424.It Ic rename Ar oldpath Ar newpath
61e96248 425Rename remote file from
426.Ar oldpath
427to
0426a3b4 428.Ar newpath .
0426a3b4 429.It Ic rm Ar path
61e96248 430Delete remote file specified by
0426a3b4 431.Ar path .
433e60ac 432.It Ic rmdir Ar path
433Remove remote directory specified by
434.Ar path .
3a7fe5ba 435.It Ic symlink Ar oldpath Ar newpath
3730bb22 436Create a symbolic link from
3a7fe5ba 437.Ar oldpath
438to
439.Ar newpath .
048ff12c 440.It Ic version
441Display the
442.Nm
443protocol version.
d0445371 444.It Ic \&! Ar command
3730bb22 445Execute
61e96248 446.Ar command
0426a3b4 447in local shell.
d0445371 448.It Ic \&!
0426a3b4 449Escape to local shell.
d0445371 450.It Ic \&?
0426a3b4 451Synonym for help.
452.El
61e96248 453.Sh SEE ALSO
433e60ac 454.Xr ftp 1 ,
f9d52dd1 455.Xr ls 1 ,
2cad6cef 456.Xr scp 1 ,
61e96248 457.Xr ssh 1 ,
458.Xr ssh-add 1 ,
459.Xr ssh-keygen 1 ,
f9d52dd1 460.Xr glob 3 ,
c21a7c4a 461.Xr ssh_config 5 ,
2cad6cef 462.Xr sftp-server 8 ,
463.Xr sshd 8
464.Rs
7b518233 465.%A T. Ylonen
466.%A S. Lehtinen
2cad6cef 467.%T "SSH File Transfer Protocol"
468.%N draft-ietf-secsh-filexfer-00.txt
469.%D January 2001
470.%O work in progress material
471.Re
This page took 0.360223 seconds and 5 git commands to generate.