xref: /freebsd/crypto/openssh/sftp.1 (revision 5773cccf19ef7b97e56c1101aa481c43149224da)
1.\" $OpenBSD: sftp.1,v 1.36 2002/09/11 22:41:50 djm Exp $
2.\"
3.\" Copyright (c) 2001 Damien Miller.  All rights reserved.
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.\"
25.Dd February 4, 2001
26.Dt SFTP 1
27.Os
28.Sh NAME
29.Nm sftp
30.Nd Secure file transfer program
31.Sh SYNOPSIS
32.Nm sftp
33.Op Fl vC1
34.Op Fl b Ar batchfile
35.Op Fl o Ar ssh_option
36.Op Fl s Ar subsystem | sftp_server
37.Op Fl B Ar buffer_size
38.Op Fl F Ar ssh_config
39.Op Fl P Ar sftp_server path
40.Op Fl R Ar num_requests
41.Op Fl S Ar program
42.Ar host
43.Nm sftp
44.Op [\fIuser\fR@]\fIhost\fR[:\fIfile\fR [\fIfile\fR]]
45.Nm sftp
46.Op [\fIuser\fR@]\fIhost\fR[:\fIdir\fR[\fI/\fR]]
47.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
58.Ar host ,
59then enters an interactive command mode.
60.Pp
61The second usage format will retrieve files automatically if a non-interactive
62authentication method is used; otherwise it will do so after
63successful interactive authentication.
64.Pp
65The last usage format allows the sftp client to start in a remote directory.
66.Pp
67The options are as follows:
68.Bl -tag -width Ds
69.It Fl b Ar batchfile
70Batch mode reads a series of commands from an input
71.Ar batchfile
72instead of
73.Em stdin .
74Since it lacks user interaction it should be used in conjunction with
75non-interactive authentication.
76.Nm
77will abort if any of the following
78commands fail:
79.Ic get , put , rename , ln ,
80.Ic rm , mkdir , chdir , lchdir
81and
82.Ic lmkdir .
83.It Fl o Ar ssh_option
84Can be used to pass options to
85.Nm ssh
86in the format used in
87.Xr ssh_config 5 .
88This is useful for specifying options
89for which there is no separate
90.Nm sftp
91command-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.
100.It Fl v
101Raise logging level. This option is also passed to ssh.
102.It Fl B Ar buffer_size
103Specify  the size of the buffer that
104.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
118Connect directly to a local
119.Nm sftp-server
120(rather than via
121.Nm ssh )
122This option may be useful in debugging the client and server.
123.It Fl R Ar num_requests
124Specify how many requests may be outstanding at any one time. Increasing
125this may slightly improve file transfer speed but will increase memory
126usage. The default is 16 outstanding requests.
127.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.
134.It Fl 1
135Specify the use of protocol version 1.
136.El
137.Sh INTERACTIVE COMMANDS
138Once in interactive mode,
139.Nm
140understands a set of commands similar to those of
141.Xr ftp 1 .
142Commands are case insensitive and pathnames may be enclosed in quotes if they
143contain spaces.
144.Bl -tag -width Ds
145.It Ic bye
146Quit sftp.
147.It Ic cd Ar path
148Change remote directory to
149.Ar path .
150.It Ic lcd Ar path
151Change local directory to
152.Ar path .
153.It Ic chgrp Ar grp Ar path
154Change group of file
155.Ar path
156to
157.Ar grp .
158.Ar grp
159must be a numeric GID.
160.It Ic chmod Ar mode Ar path
161Change permissions of file
162.Ar path
163to
164.Ar mode .
165.It Ic chown Ar own Ar path
166Change owner of file
167.Ar path
168to
169.Ar own .
170.Ar own
171must be a numeric UID.
172.It Ic exit
173Quit sftp.
174.It Xo Ic get
175.Op Ar flags
176.Ar remote-path
177.Op Ar local-path
178.Xc
179Retrieve the
180.Ar remote-path
181and store it on the local machine.
182If the local
183path name is not specified, it is given the same name it has on the
184remote machine. If the
185.Fl P
186flag is specified, then the file's full permission and access time are
187copied too.
188.It Ic help
189Display help text.
190.It Ic lls Op Ar ls-options Op Ar path
191Display local directory listing of either
192.Ar path
193or current directory if
194.Ar path
195is not specified.
196.It Ic lmkdir Ar path
197Create local directory specified by
198.Ar path .
199.It Ic ln Ar oldpath Ar newpath
200Create a symbolic link from
201.Ar oldpath
202to
203.Ar newpath .
204.It Ic lpwd
205Print local working directory.
206.It Xo Ic ls
207.Op Ar flags
208.Op Ar path
209.Xc
210Display remote directory listing of either
211.Ar path
212or current directory if
213.Ar path
214is not specified. If the
215.Fl l
216flag is specified, then display additional details including permissions
217and ownership information.
218.It Ic lumask Ar umask
219Set local umask to
220.Ar umask .
221.It Ic mkdir Ar path
222Create remote directory specified by
223.Ar path .
224.It Xo Ic put
225.Op Ar flags
226.Ar local-path
227.Op Ar local-path
228.Xc
229Upload
230.Ar local-path
231and 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
233.Fl P
234flag is specified, then the file's full permission and access time are
235copied too.
236.It Ic pwd
237Display remote working directory.
238.It Ic quit
239Quit sftp.
240.It Ic rename Ar oldpath Ar newpath
241Rename remote file from
242.Ar oldpath
243to
244.Ar newpath .
245.It Ic rmdir Ar path
246Remove remote directory specified by
247.Ar path .
248.It Ic rm Ar path
249Delete remote file specified by
250.Ar path .
251.It Ic symlink Ar oldpath Ar newpath
252Create a symbolic link from
253.Ar oldpath
254to
255.Ar newpath .
256.It Ic ! Ar command
257Execute
258.Ar command
259in local shell.
260.It Ic !
261Escape to local shell.
262.It Ic ?
263Synonym for help.
264.El
265.Sh AUTHORS
266Damien Miller <djm@mindrot.org>
267.Sh SEE ALSO
268.Xr scp 1 ,
269.Xr ssh 1 ,
270.Xr ssh-add 1 ,
271.Xr ssh-keygen 1 ,
272.Xr ssh_config 5 ,
273.Xr sftp-server 8 ,
274.Xr sshd 8
275.Rs
276.%A T. Ylonen
277.%A S. Lehtinen
278.%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
283