blob: 33ceb65964044e2a162df907f504d2414a9ddf61 [file] [log] [blame]
Damien Millere1a49812002-09-12 09:54:25 +10001.\" $OpenBSD: sftp.1,v 1.36 2002/09/11 22:41:50 djm Exp $
Damien Miller33804262001-02-04 23:20:18 +11002.\"
Ben Lindstrom92a2e382001-03-05 06:59:27 +00003.\" Copyright (c) 2001 Damien Miller. All rights reserved.
Damien Miller33804262001-02-04 23:20:18 +11004.\"
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.\"
Ben Lindstrom8ffeacf2001-04-10 02:43:57 +000025.Dd February 4, 2001
Damien Miller33804262001-02-04 23:20:18 +110026.Dt SFTP 1
27.Os
28.Sh NAME
29.Nm sftp
Damien Miller225736c2001-02-19 21:51:08 +110030.Nd Secure file transfer program
Damien Miller33804262001-02-04 23:20:18 +110031.Sh SYNOPSIS
32.Nm sftp
Damien Miller81b6e782002-02-08 22:06:03 +110033.Op Fl vC1
Ben Lindstrom562c26b2001-03-07 01:26:48 +000034.Op Fl b Ar batchfile
Damien Miller33804262001-02-04 23:20:18 +110035.Op Fl o Ar ssh_option
Ben Lindstrom6a337632001-09-18 05:47:32 +000036.Op Fl s Ar subsystem | sftp_server
Damien Miller81b6e782002-02-08 22:06:03 +110037.Op Fl B Ar buffer_size
38.Op Fl F Ar ssh_config
39.Op Fl P Ar sftp_server path
Damien Miller16a13332002-02-13 14:03:56 +110040.Op Fl R Ar num_requests
Ben Lindstrom6a337632001-09-18 05:47:32 +000041.Op Fl S Ar program
42.Ar host
Ben Lindstrom63667f62001-04-13 00:00:14 +000043.Nm sftp
44.Op [\fIuser\fR@]\fIhost\fR[:\fIfile\fR [\fIfile\fR]]
45.Nm sftp
Ben Lindstrom24643222001-06-25 05:08:11 +000046.Op [\fIuser\fR@]\fIhost\fR[:\fIdir\fR[\fI/\fR]]
Damien Miller33804262001-02-04 23:20:18 +110047.Sh DESCRIPTION
48.Nm
49is an interactive file transfer program, similar to
50.Xr ftp 1 ,
51which performs all operations over an encrypted
52.Xr ssh 1
53transport.
54It may also use many features of ssh, such as public key authentication and
55compression.
56.Nm
57connects and logs into the specified
Ben Lindstromaafff9c2001-05-06 03:01:02 +000058.Ar host ,
Damien Miller33804262001-02-04 23:20:18 +110059then enters an interactive command mode.
60.Pp
Ben Lindstrom24643222001-06-25 05:08:11 +000061The second usage format will retrieve files automatically if a non-interactive
Ben Lindstromaafff9c2001-05-06 03:01:02 +000062authentication method is used; otherwise it will do so after
63successful interactive authentication.
Ben Lindstrom63667f62001-04-13 00:00:14 +000064.Pp
65The last usage format allows the sftp client to start in a remote directory.
66.Pp
Damien Miller33804262001-02-04 23:20:18 +110067The options are as follows:
68.Bl -tag -width Ds
Ben Lindstrom562c26b2001-03-07 01:26:48 +000069.It Fl b Ar batchfile
70Batch mode reads a series of commands from an input
Ben Lindstrom283cb822001-03-09 00:09:02 +000071.Ar batchfile
Ben Lindstrom562c26b2001-03-07 01:26:48 +000072instead of
Ben Lindstrom283cb822001-03-09 00:09:02 +000073.Em stdin .
74Since it lacks user interaction it should be used in conjunction with
75non-interactive authentication.
76.Nm
Ben Lindstrom24643222001-06-25 05:08:11 +000077will abort if any of the following
78commands fail:
Ben Lindstrom3612bda2002-03-05 01:26:38 +000079.Ic get , put , rename , ln ,
80.Ic rm , mkdir , chdir , lchdir
Ben Lindstrom562c26b2001-03-07 01:26:48 +000081and
Ben Lindstrom283cb822001-03-09 00:09:02 +000082.Ic lmkdir .
Damien Miller33804262001-02-04 23:20:18 +110083.It Fl o Ar ssh_option
Ben Lindstrom14c62eb2001-08-15 23:25:46 +000084Can be used to pass options to
85.Nm ssh
Ben Lindstrom3072aae2002-06-21 01:02:39 +000086in the format used in
87.Xr ssh_config 5 .
88This is useful for specifying options
Ben Lindstrom14c62eb2001-08-15 23:25:46 +000089for which there is no separate
90.Nm sftp
Ben Lindstrom6a337632001-09-18 05:47:32 +000091command-line flag. For example, to specify an alternate
92port use:
93.Ic sftp -oPort=24 .
94.It Fl s Ar subsystem | sftp_server
95Specifies the SSH2 subsystem or the path for an sftp server
96on the remote host. A path is useful for using sftp over
97protocol version 1, or when the remote
98.Nm sshd
99does not have an sftp subsystem configured.
Damien Miller81b6e782002-02-08 22:06:03 +1100100.It Fl v
101Raise logging level. This option is also passed to ssh.
102.It Fl B Ar buffer_size
Ben Lindstromcb72e4f2002-06-21 00:41:51 +0000103Specify the size of the buffer that
Damien Miller81b6e782002-02-08 22:06:03 +1100104.Nm
105uses when transferring files. Larger buffers require fewer round trips at
106the cost of higher memory consumption. The default is 32768 bytes.
107.It Fl C
108Enables compression (via ssh's
109.Fl C
110flag).
111.It Fl F Ar ssh_config
112Specifies an alternative
113per-user configuration file for
114.Nm ssh .
115This option is directly passed to
116.Xr ssh 1 .
117.It Fl P Ar sftp_server path
Ben Lindstromcb72e4f2002-06-21 00:41:51 +0000118Connect directly to a local
119.Nm sftp-server
Damien Miller81b6e782002-02-08 22:06:03 +1100120(rather than via
121.Nm ssh )
122This option may be useful in debugging the client and server.
Damien Miller16a13332002-02-13 14:03:56 +1100123.It Fl R Ar num_requests
Ben Lindstromcb72e4f2002-06-21 00:41:51 +0000124Specify how many requests may be outstanding at any one time. Increasing
Damien Miller16a13332002-02-13 14:03:56 +1100125this may slightly improve file transfer speed but will increase memory
126usage. The default is 16 outstanding requests.
Ben Lindstrom6a337632001-09-18 05:47:32 +0000127.It Fl S Ar program
128Name of the
129.Ar program
130to use for the encrypted connection.
131The program must understand
132.Xr ssh 1
133options.
Damien Miller81b6e782002-02-08 22:06:03 +1100134.It Fl 1
135Specify the use of protocol version 1.
Damien Miller33804262001-02-04 23:20:18 +1100136.El
137.Sh INTERACTIVE COMMANDS
Damien Millerd7686fd2001-02-10 00:40:03 +1100138Once in interactive mode,
139.Nm
Ben Lindstrom24643222001-06-25 05:08:11 +0000140understands a set of commands similar to those of
Damien Miller33804262001-02-04 23:20:18 +1100141.Xr ftp 1 .
Ben Lindstrom27cb1d02001-02-10 21:59:35 +0000142Commands are case insensitive and pathnames may be enclosed in quotes if they
143contain spaces.
Damien Miller33804262001-02-04 23:20:18 +1100144.Bl -tag -width Ds
Ben Lindstrom59e12492001-08-15 23:22:56 +0000145.It Ic bye
146Quit sftp.
Damien Millerd7686fd2001-02-10 00:40:03 +1100147.It Ic cd Ar path
Ben Lindstrom24643222001-06-25 05:08:11 +0000148Change remote directory to
Damien Millerd7686fd2001-02-10 00:40:03 +1100149.Ar path .
150.It Ic lcd Ar path
Ben Lindstrom24643222001-06-25 05:08:11 +0000151Change local directory to
Damien Millerd7686fd2001-02-10 00:40:03 +1100152.Ar path .
153.It Ic chgrp Ar grp Ar path
Ben Lindstrom24643222001-06-25 05:08:11 +0000154Change group of file
Damien Millerd7686fd2001-02-10 00:40:03 +1100155.Ar path
156to
Damien Miller33804262001-02-04 23:20:18 +1100157.Ar grp .
158.Ar grp
Damien Millerd7686fd2001-02-10 00:40:03 +1100159must be a numeric GID.
160.It Ic chmod Ar mode Ar path
Ben Lindstrom24643222001-06-25 05:08:11 +0000161Change permissions of file
Damien Millerd7686fd2001-02-10 00:40:03 +1100162.Ar path
163to
164.Ar mode .
165.It Ic chown Ar own Ar path
Ben Lindstrom24643222001-06-25 05:08:11 +0000166Change owner of file
Damien Millerd7686fd2001-02-10 00:40:03 +1100167.Ar path
168to
Damien Miller33804262001-02-04 23:20:18 +1100169.Ar own .
170.Ar own
171must be a numeric UID.
Ben Lindstromc9b6eab2001-03-07 01:29:17 +0000172.It Ic exit
173Quit sftp.
Ben Lindstrom9d4f2c82001-02-15 03:22:45 +0000174.It Xo Ic get
175.Op Ar flags
176.Ar remote-path
177.Op Ar local-path
178.Xc
Damien Miller33804262001-02-04 23:20:18 +1100179Retrieve the
Damien Millerd7686fd2001-02-10 00:40:03 +1100180.Ar remote-path
Damien Miller33804262001-02-04 23:20:18 +1100181and store it on the local machine.
182If the local
Ben Lindstrom24643222001-06-25 05:08:11 +0000183path name is not specified, it is given the same name it has on the
184remote machine. If the
Ben Lindstrom9d4f2c82001-02-15 03:22:45 +0000185.Fl P
186flag is specified, then the file's full permission and access time are
187copied too.
Ben Lindstromc9b6eab2001-03-07 01:29:17 +0000188.It Ic help
189Display help text.
Damien Millerd7686fd2001-02-10 00:40:03 +1100190.It Ic lls Op Ar ls-options Op Ar path
Ben Lindstrom24643222001-06-25 05:08:11 +0000191Display local directory listing of either
Damien Miller33804262001-02-04 23:20:18 +1100192.Ar path
193or current directory if
194.Ar path
Damien Millerd7686fd2001-02-10 00:40:03 +1100195is not specified.
196.It Ic lmkdir Ar path
Damien Miller33804262001-02-04 23:20:18 +1100197Create local directory specified by
Damien Millerd7686fd2001-02-10 00:40:03 +1100198.Ar path .
Damien Miller058316f2001-03-08 10:08:49 +1100199.It Ic ln Ar oldpath Ar newpath
Ben Lindstrom24643222001-06-25 05:08:11 +0000200Create a symbolic link from
Damien Miller058316f2001-03-08 10:08:49 +1100201.Ar oldpath
202to
203.Ar newpath .
Damien Millerd7686fd2001-02-10 00:40:03 +1100204.It Ic lpwd
205Print local working directory.
Damien Millere1a49812002-09-12 09:54:25 +1000206.It Xo Ic ls
207.Op Ar flags
208.Op Ar path
209.Xc
Damien Miller33804262001-02-04 23:20:18 +1100210Display remote directory listing of either
211.Ar path
Damien Millerd7686fd2001-02-10 00:40:03 +1100212or current directory if
Damien Miller33804262001-02-04 23:20:18 +1100213.Ar path
Damien Millere1a49812002-09-12 09:54:25 +1000214is not specified. If the
215.Fl l
216flag is specified, then display additional details including permissions
217and ownership information.
Damien Millerd7686fd2001-02-10 00:40:03 +1100218.It Ic lumask Ar umask
Ben Lindstrom24643222001-06-25 05:08:11 +0000219Set local umask to
Damien Millerd7686fd2001-02-10 00:40:03 +1100220.Ar umask .
221.It Ic mkdir Ar path
222Create remote directory specified by
223.Ar path .
Ben Lindstrom9d4f2c82001-02-15 03:22:45 +0000224.It Xo Ic put
225.Op Ar flags
226.Ar local-path
227.Op Ar local-path
228.Xc
Damien Miller33804262001-02-04 23:20:18 +1100229Upload
Damien Millerd7686fd2001-02-10 00:40:03 +1100230.Ar local-path
Ben Lindstrom24643222001-06-25 05:08:11 +0000231and store it on the remote machine. If the remote path name is not
232specified, it is given the same name it has on the local machine. If the
Ben Lindstrom9d4f2c82001-02-15 03:22:45 +0000233.Fl P
234flag is specified, then the file's full permission and access time are
235copied too.
Damien Millerd7686fd2001-02-10 00:40:03 +1100236.It Ic pwd
237Display remote working directory.
Damien Millerd7686fd2001-02-10 00:40:03 +1100238.It Ic quit
239Quit sftp.
240.It Ic rename Ar oldpath Ar newpath
Damien Miller33804262001-02-04 23:20:18 +1100241Rename remote file from
242.Ar oldpath
243to
Damien Millerd7686fd2001-02-10 00:40:03 +1100244.Ar newpath .
245.It Ic rmdir Ar path
Damien Miller33804262001-02-04 23:20:18 +1100246Remove remote directory specified by
Damien Millerd7686fd2001-02-10 00:40:03 +1100247.Ar path .
248.It Ic rm Ar path
Damien Miller33804262001-02-04 23:20:18 +1100249Delete remote file specified by
Damien Millerd7686fd2001-02-10 00:40:03 +1100250.Ar path .
Damien Miller058316f2001-03-08 10:08:49 +1100251.It Ic symlink Ar oldpath Ar newpath
Ben Lindstrom24643222001-06-25 05:08:11 +0000252Create a symbolic link from
Damien Miller058316f2001-03-08 10:08:49 +1100253.Ar oldpath
254to
255.Ar newpath .
Damien Miller33804262001-02-04 23:20:18 +1100256.It Ic ! Ar command
Ben Lindstrom24643222001-06-25 05:08:11 +0000257Execute
Damien Miller33804262001-02-04 23:20:18 +1100258.Ar command
Damien Millerd7686fd2001-02-10 00:40:03 +1100259in local shell.
Damien Miller33804262001-02-04 23:20:18 +1100260.It Ic !
Damien Millerd7686fd2001-02-10 00:40:03 +1100261Escape to local shell.
262.It Ic ?
263Synonym for help.
264.El
Damien Miller33804262001-02-04 23:20:18 +1100265.Sh AUTHORS
266Damien Miller <djm@mindrot.org>
267.Sh SEE ALSO
Ben Lindstrom160ec622001-04-22 17:17:46 +0000268.Xr scp 1 ,
Damien Miller33804262001-02-04 23:20:18 +1100269.Xr ssh 1 ,
270.Xr ssh-add 1 ,
271.Xr ssh-keygen 1 ,
Ben Lindstrom3072aae2002-06-21 01:02:39 +0000272.Xr ssh_config 5 ,
Ben Lindstrom160ec622001-04-22 17:17:46 +0000273.Xr sftp-server 8 ,
274.Xr sshd 8
275.Rs
Ben Lindstrom90fd0602001-06-25 04:45:33 +0000276.%A T. Ylonen
277.%A S. Lehtinen
Ben Lindstrom160ec622001-04-22 17:17:46 +0000278.%T "SSH File Transfer Protocol"
279.%N draft-ietf-secsh-filexfer-00.txt
280.%D January 2001
281.%O work in progress material
282.Re