Damien Miller | 0d03241 | 2013-07-25 11:56:52 +1000 | [diff] [blame] | 1 | .\" $OpenBSD: sftp.1,v 1.92 2013/07/25 00:56:51 djm Exp $ |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 2 | .\" |
Ben Lindstrom | 92a2e38 | 2001-03-05 06:59:27 +0000 | [diff] [blame] | 3 | .\" Copyright (c) 2001 Damien Miller. All rights reserved. |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 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 | .\" |
Damien Miller | 0d03241 | 2013-07-25 11:56:52 +1000 | [diff] [blame] | 25 | .Dd $Mdocdate: July 25 2013 $ |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 26 | .Dt SFTP 1 |
| 27 | .Os |
| 28 | .Sh NAME |
| 29 | .Nm sftp |
Damien Miller | 5067792 | 2003-05-23 18:44:04 +1000 | [diff] [blame] | 30 | .Nd secure file transfer program |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 31 | .Sh SYNOPSIS |
Damien Miller | d6ead28 | 2003-05-14 19:30:38 +1000 | [diff] [blame] | 32 | .Nm sftp |
Damien Miller | 495dca3 | 2003-04-01 21:42:14 +1000 | [diff] [blame] | 33 | .Bk -words |
Darren Tucker | 1b0dd17 | 2009-10-07 08:37:48 +1100 | [diff] [blame] | 34 | .Op Fl 1246Cpqrv |
Damien Miller | 81b6e78 | 2002-02-08 22:06:03 +1100 | [diff] [blame] | 35 | .Op Fl B Ar buffer_size |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 36 | .Op Fl b Ar batchfile |
Darren Tucker | 46bbbe3 | 2009-10-07 08:21:48 +1100 | [diff] [blame] | 37 | .Op Fl c Ar cipher |
Darren Tucker | 282b402 | 2009-10-07 08:23:06 +1100 | [diff] [blame] | 38 | .Op Fl D Ar sftp_server_path |
Damien Miller | 81b6e78 | 2002-02-08 22:06:03 +1100 | [diff] [blame] | 39 | .Op Fl F Ar ssh_config |
Darren Tucker | c07138e | 2009-10-07 08:23:44 +1100 | [diff] [blame] | 40 | .Op Fl i Ar identity_file |
Damien Miller | 65e42f8 | 2010-09-24 22:15:11 +1000 | [diff] [blame] | 41 | .Op Fl l Ar limit |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 42 | .Op Fl o Ar ssh_option |
Darren Tucker | 282b402 | 2009-10-07 08:23:06 +1100 | [diff] [blame] | 43 | .Op Fl P Ar port |
Damien Miller | 16a1333 | 2002-02-13 14:03:56 +1100 | [diff] [blame] | 44 | .Op Fl R Ar num_requests |
Ben Lindstrom | 6a33763 | 2001-09-18 05:47:32 +0000 | [diff] [blame] | 45 | .Op Fl S Ar program |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 46 | .Op Fl s Ar subsystem | sftp_server |
Ben Lindstrom | 6a33763 | 2001-09-18 05:47:32 +0000 | [diff] [blame] | 47 | .Ar host |
Damien Miller | 495dca3 | 2003-04-01 21:42:14 +1000 | [diff] [blame] | 48 | .Ek |
Damien Miller | d6ead28 | 2003-05-14 19:30:38 +1000 | [diff] [blame] | 49 | .Nm sftp |
Damien Miller | 7ebfad7 | 2008-12-09 14:12:33 +1100 | [diff] [blame] | 50 | .Oo Ar user Ns @ Oc Ns |
| 51 | .Ar host Ns Op : Ns Ar |
Damien Miller | d6ead28 | 2003-05-14 19:30:38 +1000 | [diff] [blame] | 52 | .Nm sftp |
Damien Miller | 881adf7 | 2010-09-24 22:01:54 +1000 | [diff] [blame] | 53 | .Oo |
| 54 | .Ar user Ns @ Oc Ns |
Damien Miller | 495dca3 | 2003-04-01 21:42:14 +1000 | [diff] [blame] | 55 | .Ar host Ns Oo : Ns Ar dir Ns |
Damien Miller | 881adf7 | 2010-09-24 22:01:54 +1000 | [diff] [blame] | 56 | .Op Ar / |
| 57 | .Oc |
Damien Miller | d6ead28 | 2003-05-14 19:30:38 +1000 | [diff] [blame] | 58 | .Nm sftp |
Damien Miller | fb7508e | 2003-05-14 13:47:07 +1000 | [diff] [blame] | 59 | .Fl b Ar batchfile |
Damien Miller | c2b9827 | 2003-09-03 12:13:30 +1000 | [diff] [blame] | 60 | .Oo Ar user Ns @ Oc Ns Ar host |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 61 | .Sh DESCRIPTION |
| 62 | .Nm |
| 63 | is an interactive file transfer program, similar to |
| 64 | .Xr ftp 1 , |
| 65 | which performs all operations over an encrypted |
| 66 | .Xr ssh 1 |
| 67 | transport. |
| 68 | It may also use many features of ssh, such as public key authentication and |
| 69 | compression. |
| 70 | .Nm |
| 71 | connects and logs into the specified |
Ben Lindstrom | aafff9c | 2001-05-06 03:01:02 +0000 | [diff] [blame] | 72 | .Ar host , |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 73 | then enters an interactive command mode. |
| 74 | .Pp |
Ben Lindstrom | 2464322 | 2001-06-25 05:08:11 +0000 | [diff] [blame] | 75 | The second usage format will retrieve files automatically if a non-interactive |
Ben Lindstrom | aafff9c | 2001-05-06 03:01:02 +0000 | [diff] [blame] | 76 | authentication method is used; otherwise it will do so after |
| 77 | successful interactive authentication. |
Ben Lindstrom | 63667f6 | 2001-04-13 00:00:14 +0000 | [diff] [blame] | 78 | .Pp |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 79 | The third usage format allows |
| 80 | .Nm |
| 81 | to start in a remote directory. |
Ben Lindstrom | 63667f6 | 2001-04-13 00:00:14 +0000 | [diff] [blame] | 82 | .Pp |
Damien Miller | 5067792 | 2003-05-23 18:44:04 +1000 | [diff] [blame] | 83 | The final usage format allows for automated sessions using the |
Damien Miller | fb7508e | 2003-05-14 13:47:07 +1000 | [diff] [blame] | 84 | .Fl b |
Damien Miller | 5067792 | 2003-05-23 18:44:04 +1000 | [diff] [blame] | 85 | option. |
Damien Miller | 134eb81 | 2005-12-31 16:22:55 +1100 | [diff] [blame] | 86 | In such cases, it is necessary to configure non-interactive authentication |
Damien Miller | 5067792 | 2003-05-23 18:44:04 +1000 | [diff] [blame] | 87 | to obviate the need to enter a password at connection time (see |
Damien Miller | fb7508e | 2003-05-14 13:47:07 +1000 | [diff] [blame] | 88 | .Xr sshd 8 |
Damien Miller | d6ead28 | 2003-05-14 19:30:38 +1000 | [diff] [blame] | 89 | and |
Damien Miller | fb7508e | 2003-05-14 13:47:07 +1000 | [diff] [blame] | 90 | .Xr ssh-keygen 1 |
Damien Miller | 5067792 | 2003-05-23 18:44:04 +1000 | [diff] [blame] | 91 | for details). |
Damien Miller | 58a77e2 | 2011-05-15 08:36:29 +1000 | [diff] [blame] | 92 | .Pp |
| 93 | Since some usage formats use colon characters to delimit host names from path |
| 94 | names, IPv6 addresses must be enclosed in square brackets to avoid ambiguity. |
| 95 | .Pp |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 96 | The options are as follows: |
| 97 | .Bl -tag -width Ds |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 98 | .It Fl 1 |
| 99 | Specify the use of protocol version 1. |
Darren Tucker | 46bbbe3 | 2009-10-07 08:21:48 +1100 | [diff] [blame] | 100 | .It Fl 2 |
| 101 | Specify the use of protocol version 2. |
| 102 | .It Fl 4 |
| 103 | Forces |
| 104 | .Nm |
| 105 | to use IPv4 addresses only. |
| 106 | .It Fl 6 |
| 107 | Forces |
| 108 | .Nm |
| 109 | to use IPv6 addresses only. |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 110 | .It Fl B Ar buffer_size |
| 111 | Specify the size of the buffer that |
| 112 | .Nm |
| 113 | uses when transferring files. |
| 114 | Larger buffers require fewer round trips at the cost of higher |
| 115 | memory consumption. |
| 116 | The default is 32768 bytes. |
Ben Lindstrom | 562c26b | 2001-03-07 01:26:48 +0000 | [diff] [blame] | 117 | .It Fl b Ar batchfile |
| 118 | Batch mode reads a series of commands from an input |
Ben Lindstrom | 283cb82 | 2001-03-09 00:09:02 +0000 | [diff] [blame] | 119 | .Ar batchfile |
Ben Lindstrom | 562c26b | 2001-03-07 01:26:48 +0000 | [diff] [blame] | 120 | instead of |
Ben Lindstrom | 283cb82 | 2001-03-09 00:09:02 +0000 | [diff] [blame] | 121 | .Em stdin . |
| 122 | Since it lacks user interaction it should be used in conjunction with |
Damien Miller | 86a3968 | 2004-01-21 11:00:04 +1100 | [diff] [blame] | 123 | non-interactive authentication. |
Damien Miller | 44f75c1 | 2004-01-21 10:58:47 +1100 | [diff] [blame] | 124 | A |
Damien Miller | 86a3968 | 2004-01-21 11:00:04 +1100 | [diff] [blame] | 125 | .Ar batchfile |
| 126 | of |
| 127 | .Sq \- |
Damien Miller | 44f75c1 | 2004-01-21 10:58:47 +1100 | [diff] [blame] | 128 | may be used to indicate standard input. |
Ben Lindstrom | 283cb82 | 2001-03-09 00:09:02 +0000 | [diff] [blame] | 129 | .Nm |
Ben Lindstrom | 2464322 | 2001-06-25 05:08:11 +0000 | [diff] [blame] | 130 | will abort if any of the following |
| 131 | commands fail: |
Damien Miller | 0d03241 | 2013-07-25 11:56:52 +1000 | [diff] [blame] | 132 | .Ic get , put , reget , rename , ln , |
Damien Miller | 495dca3 | 2003-04-01 21:42:14 +1000 | [diff] [blame] | 133 | .Ic rm , mkdir , chdir , ls , |
Damien Miller | 64058cb | 2008-05-19 14:54:25 +1000 | [diff] [blame] | 134 | .Ic lchdir , chmod , chown , |
Darren Tucker | af1f909 | 2010-12-05 09:02:47 +1100 | [diff] [blame] | 135 | .Ic chgrp , lpwd , df , symlink , |
Ben Lindstrom | 562c26b | 2001-03-07 01:26:48 +0000 | [diff] [blame] | 136 | and |
Ben Lindstrom | 283cb82 | 2001-03-09 00:09:02 +0000 | [diff] [blame] | 137 | .Ic lmkdir . |
Damien Miller | 495dca3 | 2003-04-01 21:42:14 +1000 | [diff] [blame] | 138 | Termination on error can be suppressed on a command by command basis by |
| 139 | prefixing the command with a |
Damien Miller | 86a3968 | 2004-01-21 11:00:04 +1100 | [diff] [blame] | 140 | .Sq \- |
Damien Miller | 5067792 | 2003-05-23 18:44:04 +1000 | [diff] [blame] | 141 | character (for example, |
| 142 | .Ic -rm /tmp/blah* ) . |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 143 | .It Fl C |
| 144 | Enables compression (via ssh's |
| 145 | .Fl C |
| 146 | flag). |
Darren Tucker | adba1ba | 2009-10-07 08:22:20 +1100 | [diff] [blame] | 147 | .It Fl c Ar cipher |
| 148 | Selects the cipher to use for encrypting the data transfers. |
| 149 | This option is directly passed to |
| 150 | .Xr ssh 1 . |
Darren Tucker | 282b402 | 2009-10-07 08:23:06 +1100 | [diff] [blame] | 151 | .It Fl D Ar sftp_server_path |
| 152 | Connect directly to a local sftp server |
| 153 | (rather than via |
| 154 | .Xr ssh 1 ) . |
| 155 | This option may be useful in debugging the client and server. |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 156 | .It Fl F Ar ssh_config |
| 157 | Specifies an alternative |
| 158 | per-user configuration file for |
| 159 | .Xr ssh 1 . |
| 160 | This option is directly passed to |
| 161 | .Xr ssh 1 . |
Darren Tucker | 46bbbe3 | 2009-10-07 08:21:48 +1100 | [diff] [blame] | 162 | .It Fl i Ar identity_file |
| 163 | Selects the file from which the identity (private key) for public key |
| 164 | authentication is read. |
| 165 | This option is directly passed to |
| 166 | .Xr ssh 1 . |
Damien Miller | 65e42f8 | 2010-09-24 22:15:11 +1000 | [diff] [blame] | 167 | .It Fl l Ar limit |
| 168 | Limits the used bandwidth, specified in Kbit/s. |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 169 | .It Fl o Ar ssh_option |
Ben Lindstrom | 14c62eb | 2001-08-15 23:25:46 +0000 | [diff] [blame] | 170 | Can be used to pass options to |
| 171 | .Nm ssh |
Ben Lindstrom | 3072aae | 2002-06-21 01:02:39 +0000 | [diff] [blame] | 172 | in the format used in |
| 173 | .Xr ssh_config 5 . |
| 174 | This is useful for specifying options |
Ben Lindstrom | 14c62eb | 2001-08-15 23:25:46 +0000 | [diff] [blame] | 175 | for which there is no separate |
| 176 | .Nm sftp |
Damien Miller | 5067792 | 2003-05-23 18:44:04 +1000 | [diff] [blame] | 177 | command-line flag. |
| 178 | For example, to specify an alternate port use: |
Ben Lindstrom | 6a33763 | 2001-09-18 05:47:32 +0000 | [diff] [blame] | 179 | .Ic sftp -oPort=24 . |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 180 | For full details of the options listed below, and their possible values, see |
| 181 | .Xr ssh_config 5 . |
| 182 | .Pp |
| 183 | .Bl -tag -width Ds -offset indent -compact |
| 184 | .It AddressFamily |
| 185 | .It BatchMode |
| 186 | .It BindAddress |
| 187 | .It ChallengeResponseAuthentication |
| 188 | .It CheckHostIP |
| 189 | .It Cipher |
| 190 | .It Ciphers |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 191 | .It Compression |
| 192 | .It CompressionLevel |
| 193 | .It ConnectionAttempts |
Darren Tucker | 3d5cbb7 | 2004-05-03 09:13:15 +1000 | [diff] [blame] | 194 | .It ConnectTimeout |
Damien Miller | 0e220db | 2004-06-15 10:34:08 +1000 | [diff] [blame] | 195 | .It ControlMaster |
| 196 | .It ControlPath |
Damien Miller | e577772 | 2011-09-22 21:34:15 +1000 | [diff] [blame] | 197 | .It ControlPersist |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 198 | .It GlobalKnownHostsFile |
| 199 | .It GSSAPIAuthentication |
| 200 | .It GSSAPIDelegateCredentials |
Damien Miller | 27e9c51 | 2005-03-02 12:04:16 +1100 | [diff] [blame] | 201 | .It HashKnownHosts |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 202 | .It Host |
| 203 | .It HostbasedAuthentication |
| 204 | .It HostKeyAlgorithms |
| 205 | .It HostKeyAlias |
| 206 | .It HostName |
| 207 | .It IdentityFile |
Damien Miller | bd394c3 | 2004-03-08 23:12:36 +1100 | [diff] [blame] | 208 | .It IdentitiesOnly |
Damien Miller | 0a18473 | 2010-11-20 15:21:03 +1100 | [diff] [blame] | 209 | .It IPQoS |
Damien Miller | e577772 | 2011-09-22 21:34:15 +1000 | [diff] [blame] | 210 | .It KbdInteractiveAuthentication |
Darren Tucker | 636ca90 | 2004-11-05 20:22:00 +1100 | [diff] [blame] | 211 | .It KbdInteractiveDevices |
Damien Miller | 2beb32f | 2010-09-24 22:16:03 +1000 | [diff] [blame] | 212 | .It KexAlgorithms |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 213 | .It LogLevel |
| 214 | .It MACs |
| 215 | .It NoHostAuthenticationForLocalhost |
| 216 | .It NumberOfPasswordPrompts |
| 217 | .It PasswordAuthentication |
Damien Miller | 7ea845e | 2010-02-12 09:21:02 +1100 | [diff] [blame] | 218 | .It PKCS11Provider |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 219 | .It Port |
| 220 | .It PreferredAuthentications |
| 221 | .It Protocol |
| 222 | .It ProxyCommand |
| 223 | .It PubkeyAuthentication |
Darren Tucker | 62388b2 | 2006-01-20 11:31:47 +1100 | [diff] [blame] | 224 | .It RekeyLimit |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 225 | .It RhostsRSAAuthentication |
| 226 | .It RSAAuthentication |
Darren Tucker | 7a6c066 | 2004-05-02 22:14:03 +1000 | [diff] [blame] | 227 | .It SendEnv |
Damien Miller | 509b010 | 2003-12-17 16:33:10 +1100 | [diff] [blame] | 228 | .It ServerAliveInterval |
| 229 | .It ServerAliveCountMax |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 230 | .It StrictHostKeyChecking |
Damien Miller | 12c150e | 2003-12-17 16:31:10 +1100 | [diff] [blame] | 231 | .It TCPKeepAlive |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 232 | .It UsePrivilegedPort |
| 233 | .It User |
| 234 | .It UserKnownHostsFile |
| 235 | .It VerifyHostKeyDNS |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 236 | .El |
Darren Tucker | 282b402 | 2009-10-07 08:23:06 +1100 | [diff] [blame] | 237 | .It Fl P Ar port |
| 238 | Specifies the port to connect to on the remote host. |
Darren Tucker | 1b0dd17 | 2009-10-07 08:37:48 +1100 | [diff] [blame] | 239 | .It Fl p |
| 240 | Preserves modification times, access times, and modes from the |
| 241 | original files transferred. |
Darren Tucker | 46bbbe3 | 2009-10-07 08:21:48 +1100 | [diff] [blame] | 242 | .It Fl q |
| 243 | Quiet mode: disables the progress meter as well as warning and |
| 244 | diagnostic messages from |
| 245 | .Xr ssh 1 . |
Damien Miller | 16a1333 | 2002-02-13 14:03:56 +1100 | [diff] [blame] | 246 | .It Fl R Ar num_requests |
Damien Miller | 5067792 | 2003-05-23 18:44:04 +1000 | [diff] [blame] | 247 | Specify how many requests may be outstanding at any one time. |
| 248 | Increasing this may slightly improve file transfer speed |
| 249 | but will increase memory usage. |
Damien Miller | 94717b0 | 2008-07-16 21:17:23 +1000 | [diff] [blame] | 250 | The default is 64 outstanding requests. |
Darren Tucker | 1b0dd17 | 2009-10-07 08:37:48 +1100 | [diff] [blame] | 251 | .It Fl r |
| 252 | Recursively copy entire directories when uploading and downloading. |
| 253 | Note that |
| 254 | .Nm |
| 255 | does not follow symbolic links encountered in the tree traversal. |
Ben Lindstrom | 6a33763 | 2001-09-18 05:47:32 +0000 | [diff] [blame] | 256 | .It Fl S Ar program |
| 257 | Name of the |
| 258 | .Ar program |
| 259 | to use for the encrypted connection. |
| 260 | The program must understand |
| 261 | .Xr ssh 1 |
| 262 | options. |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 263 | .It Fl s Ar subsystem | sftp_server |
| 264 | Specifies the SSH2 subsystem or the path for an sftp server |
| 265 | on the remote host. |
| 266 | A path is useful for using |
| 267 | .Nm |
| 268 | over protocol version 1, or when the remote |
| 269 | .Xr sshd 8 |
| 270 | does not have an sftp subsystem configured. |
| 271 | .It Fl v |
| 272 | Raise logging level. |
| 273 | This option is also passed to ssh. |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 274 | .El |
| 275 | .Sh INTERACTIVE COMMANDS |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 276 | Once in interactive mode, |
| 277 | .Nm |
Ben Lindstrom | 2464322 | 2001-06-25 05:08:11 +0000 | [diff] [blame] | 278 | understands a set of commands similar to those of |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 279 | .Xr ftp 1 . |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 280 | Commands are case insensitive. |
| 281 | Pathnames that contain spaces must be enclosed in quotes. |
| 282 | Any special characters contained within pathnames that are recognized by |
| 283 | .Xr glob 3 |
| 284 | must be escaped with backslashes |
| 285 | .Pq Sq \e . |
| 286 | .Bl -tag -width Ds |
Ben Lindstrom | 59e1249 | 2001-08-15 23:22:56 +0000 | [diff] [blame] | 287 | .It Ic bye |
Damien Miller | 5067792 | 2003-05-23 18:44:04 +1000 | [diff] [blame] | 288 | Quit |
| 289 | .Nm sftp . |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 290 | .It Ic cd Ar path |
Ben Lindstrom | 2464322 | 2001-06-25 05:08:11 +0000 | [diff] [blame] | 291 | Change remote directory to |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 292 | .Ar path . |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 293 | .It Ic chgrp Ar grp Ar path |
Ben Lindstrom | 2464322 | 2001-06-25 05:08:11 +0000 | [diff] [blame] | 294 | Change group of file |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 295 | .Ar path |
| 296 | to |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 297 | .Ar grp . |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 298 | .Ar path |
| 299 | may contain |
| 300 | .Xr glob 3 |
| 301 | characters and may match multiple files. |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 302 | .Ar grp |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 303 | must be a numeric GID. |
| 304 | .It Ic chmod Ar mode Ar path |
Ben Lindstrom | 2464322 | 2001-06-25 05:08:11 +0000 | [diff] [blame] | 305 | Change permissions of file |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 306 | .Ar path |
| 307 | to |
| 308 | .Ar mode . |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 309 | .Ar path |
| 310 | may contain |
| 311 | .Xr glob 3 |
| 312 | characters and may match multiple files. |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 313 | .It Ic chown Ar own Ar path |
Ben Lindstrom | 2464322 | 2001-06-25 05:08:11 +0000 | [diff] [blame] | 314 | Change owner of file |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 315 | .Ar path |
| 316 | to |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 317 | .Ar own . |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 318 | .Ar path |
| 319 | may contain |
| 320 | .Xr glob 3 |
| 321 | characters and may match multiple files. |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 322 | .Ar own |
| 323 | must be a numeric UID. |
Damien Miller | d671e5a | 2008-05-19 14:53:33 +1000 | [diff] [blame] | 324 | .It Xo Ic df |
| 325 | .Op Fl hi |
| 326 | .Op Ar path |
| 327 | .Xc |
| 328 | Display usage information for the filesystem holding the current directory |
| 329 | (or |
| 330 | .Ar path |
| 331 | if specified). |
| 332 | If the |
| 333 | .Fl h |
| 334 | flag is specified, the capacity information will be displayed using |
| 335 | "human-readable" suffixes. |
| 336 | The |
| 337 | .Fl i |
| 338 | flag requests display of inode information in addition to capacity information. |
| 339 | This command is only supported on servers that implement the |
| 340 | .Dq statvfs@openssh.com |
| 341 | extension. |
Ben Lindstrom | c9b6eab | 2001-03-07 01:29:17 +0000 | [diff] [blame] | 342 | .It Ic exit |
Damien Miller | 5067792 | 2003-05-23 18:44:04 +1000 | [diff] [blame] | 343 | Quit |
| 344 | .Nm sftp . |
Ben Lindstrom | 9d4f2c8 | 2001-02-15 03:22:45 +0000 | [diff] [blame] | 345 | .It Xo Ic get |
Damien Miller | 0d03241 | 2013-07-25 11:56:52 +1000 | [diff] [blame] | 346 | .Op Fl aPpr |
Ben Lindstrom | 9d4f2c8 | 2001-02-15 03:22:45 +0000 | [diff] [blame] | 347 | .Ar remote-path |
| 348 | .Op Ar local-path |
| 349 | .Xc |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 350 | Retrieve the |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 351 | .Ar remote-path |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 352 | and store it on the local machine. |
| 353 | If the local |
Ben Lindstrom | 2464322 | 2001-06-25 05:08:11 +0000 | [diff] [blame] | 354 | path name is not specified, it is given the same name it has on the |
Damien Miller | 5067792 | 2003-05-23 18:44:04 +1000 | [diff] [blame] | 355 | remote machine. |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 356 | .Ar remote-path |
| 357 | may contain |
| 358 | .Xr glob 3 |
| 359 | characters and may match multiple files. |
| 360 | If it does and |
| 361 | .Ar local-path |
| 362 | is specified, then |
| 363 | .Ar local-path |
| 364 | must specify a directory. |
Darren Tucker | 1b0dd17 | 2009-10-07 08:37:48 +1100 | [diff] [blame] | 365 | .Pp |
Damien Miller | 0d03241 | 2013-07-25 11:56:52 +1000 | [diff] [blame] | 366 | If the |
| 367 | .Fl a |
| 368 | flag is specified, then attempt to resume partial transfers of existing files. |
| 369 | Note that resumption assumes that any partial copy of the local file matches |
| 370 | the remote copy. |
| 371 | If the remote file differs from the partial local copy then the resultant file |
| 372 | is likely to be corrupt. |
| 373 | .Pp |
Darren Tucker | b3b40a8 | 2009-10-07 08:39:09 +1100 | [diff] [blame] | 374 | If either the |
Darren Tucker | 05016b2 | 2009-10-07 08:38:23 +1100 | [diff] [blame] | 375 | .Fl P |
Darren Tucker | 1b0dd17 | 2009-10-07 08:37:48 +1100 | [diff] [blame] | 376 | or |
| 377 | .Fl p |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 378 | flag is specified, then full file permissions and access times are |
Ben Lindstrom | 9d4f2c8 | 2001-02-15 03:22:45 +0000 | [diff] [blame] | 379 | copied too. |
Darren Tucker | 1b0dd17 | 2009-10-07 08:37:48 +1100 | [diff] [blame] | 380 | .Pp |
| 381 | If the |
| 382 | .Fl r |
| 383 | flag is specified then directories will be copied recursively. |
| 384 | Note that |
| 385 | .Nm |
| 386 | does not follow symbolic links when performing recursive transfers. |
Ben Lindstrom | c9b6eab | 2001-03-07 01:29:17 +0000 | [diff] [blame] | 387 | .It Ic help |
| 388 | Display help text. |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 389 | .It Ic lcd Ar path |
| 390 | Change local directory to |
| 391 | .Ar path . |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 392 | .It Ic lls Op Ar ls-options Op Ar path |
Ben Lindstrom | 2464322 | 2001-06-25 05:08:11 +0000 | [diff] [blame] | 393 | Display local directory listing of either |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 394 | .Ar path |
| 395 | or current directory if |
| 396 | .Ar path |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 397 | is not specified. |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 398 | .Ar ls-options |
| 399 | may contain any flags supported by the local system's |
| 400 | .Xr ls 1 |
| 401 | command. |
| 402 | .Ar path |
| 403 | may contain |
| 404 | .Xr glob 3 |
| 405 | characters and may match multiple files. |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 406 | .It Ic lmkdir Ar path |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 407 | Create local directory specified by |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 408 | .Ar path . |
Darren Tucker | af1f909 | 2010-12-05 09:02:47 +1100 | [diff] [blame] | 409 | .It Xo Ic ln |
| 410 | .Op Fl s |
| 411 | .Ar oldpath |
| 412 | .Ar newpath |
| 413 | .Xc |
| 414 | Create a link from |
Damien Miller | 058316f | 2001-03-08 10:08:49 +1100 | [diff] [blame] | 415 | .Ar oldpath |
| 416 | to |
| 417 | .Ar newpath . |
Darren Tucker | af1f909 | 2010-12-05 09:02:47 +1100 | [diff] [blame] | 418 | If the |
| 419 | .Fl s |
| 420 | flag is specified the created link is a symbolic link, otherwise it is |
| 421 | a hard link. |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 422 | .It Ic lpwd |
| 423 | Print local working directory. |
Damien Miller | e1a4981 | 2002-09-12 09:54:25 +1000 | [diff] [blame] | 424 | .It Xo Ic ls |
Darren Tucker | 75fe626 | 2010-01-15 11:42:51 +1100 | [diff] [blame] | 425 | .Op Fl 1afhlnrSt |
Damien Miller | e1a4981 | 2002-09-12 09:54:25 +1000 | [diff] [blame] | 426 | .Op Ar path |
| 427 | .Xc |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 428 | Display a remote directory listing of either |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 429 | .Ar path |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 430 | or the current directory if |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 431 | .Ar path |
Damien Miller | 5067792 | 2003-05-23 18:44:04 +1000 | [diff] [blame] | 432 | is not specified. |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 433 | .Ar path |
| 434 | may contain |
| 435 | .Xr glob 3 |
| 436 | characters and may match multiple files. |
Darren Tucker | 15ca6e8 | 2004-06-22 13:08:21 +1000 | [diff] [blame] | 437 | .Pp |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 438 | The following flags are recognized and alter the behaviour of |
Darren Tucker | 15ca6e8 | 2004-06-22 13:08:21 +1000 | [diff] [blame] | 439 | .Ic ls |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 440 | accordingly: |
| 441 | .Bl -tag -width Ds |
| 442 | .It Fl 1 |
| 443 | Produce single columnar output. |
| 444 | .It Fl a |
| 445 | List files beginning with a dot |
| 446 | .Pq Sq \&. . |
| 447 | .It Fl f |
| 448 | Do not sort the listing. |
| 449 | The default sort order is lexicographical. |
Darren Tucker | 2901e2d | 2010-01-13 22:44:06 +1100 | [diff] [blame] | 450 | .It Fl h |
| 451 | When used with a long format option, use unit suffixes: Byte, Kilobyte, |
| 452 | Megabyte, Gigabyte, Terabyte, Petabyte, and Exabyte in order to reduce |
| 453 | the number of digits to four or fewer using powers of 2 for sizes (K=1024, |
| 454 | M=1048576, etc.). |
Darren Tucker | 75fe626 | 2010-01-15 11:42:51 +1100 | [diff] [blame] | 455 | .It Fl l |
| 456 | Display additional details including permissions |
| 457 | and ownership information. |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 458 | .It Fl n |
| 459 | Produce a long listing with user and group information presented |
| 460 | numerically. |
| 461 | .It Fl r |
| 462 | Reverse the sort order of the listing. |
| 463 | .It Fl S |
| 464 | Sort the listing by file size. |
| 465 | .It Fl t |
| 466 | Sort the listing by last modification time. |
| 467 | .El |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 468 | .It Ic lumask Ar umask |
Ben Lindstrom | 2464322 | 2001-06-25 05:08:11 +0000 | [diff] [blame] | 469 | Set local umask to |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 470 | .Ar umask . |
| 471 | .It Ic mkdir Ar path |
| 472 | Create remote directory specified by |
| 473 | .Ar path . |
Damien Miller | 62d57f6 | 2003-01-10 21:43:24 +1100 | [diff] [blame] | 474 | .It Ic progress |
| 475 | Toggle display of progress meter. |
Ben Lindstrom | 9d4f2c8 | 2001-02-15 03:22:45 +0000 | [diff] [blame] | 476 | .It Xo Ic put |
Darren Tucker | 05016b2 | 2009-10-07 08:38:23 +1100 | [diff] [blame] | 477 | .Op Fl Ppr |
Ben Lindstrom | 9d4f2c8 | 2001-02-15 03:22:45 +0000 | [diff] [blame] | 478 | .Ar local-path |
Ben Lindstrom | d576781 | 2002-12-23 02:23:37 +0000 | [diff] [blame] | 479 | .Op Ar remote-path |
Ben Lindstrom | 9d4f2c8 | 2001-02-15 03:22:45 +0000 | [diff] [blame] | 480 | .Xc |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 481 | Upload |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 482 | .Ar local-path |
Damien Miller | 5067792 | 2003-05-23 18:44:04 +1000 | [diff] [blame] | 483 | and store it on the remote machine. |
| 484 | If the remote path name is not specified, it is given the same name it has |
| 485 | on the local machine. |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 486 | .Ar local-path |
| 487 | may contain |
| 488 | .Xr glob 3 |
| 489 | characters and may match multiple files. |
| 490 | If it does and |
| 491 | .Ar remote-path |
| 492 | is specified, then |
| 493 | .Ar remote-path |
| 494 | must specify a directory. |
Darren Tucker | 1b0dd17 | 2009-10-07 08:37:48 +1100 | [diff] [blame] | 495 | .Pp |
Darren Tucker | ddccfb4 | 2011-08-07 23:12:26 +1000 | [diff] [blame] | 496 | If either the |
Ben Lindstrom | 9d4f2c8 | 2001-02-15 03:22:45 +0000 | [diff] [blame] | 497 | .Fl P |
Darren Tucker | 1b0dd17 | 2009-10-07 08:37:48 +1100 | [diff] [blame] | 498 | or |
| 499 | .Fl p |
| 500 | flag is specified, then full file permissions and access times are |
Ben Lindstrom | 9d4f2c8 | 2001-02-15 03:22:45 +0000 | [diff] [blame] | 501 | copied too. |
Darren Tucker | 1b0dd17 | 2009-10-07 08:37:48 +1100 | [diff] [blame] | 502 | .Pp |
| 503 | If the |
| 504 | .Fl r |
| 505 | flag is specified then directories will be copied recursively. |
| 506 | Note that |
| 507 | .Nm |
| 508 | does not follow symbolic links when performing recursive transfers. |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 509 | .It Ic pwd |
| 510 | Display remote working directory. |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 511 | .It Ic quit |
Damien Miller | 5067792 | 2003-05-23 18:44:04 +1000 | [diff] [blame] | 512 | Quit |
| 513 | .Nm sftp . |
Damien Miller | 0d03241 | 2013-07-25 11:56:52 +1000 | [diff] [blame] | 514 | .It Xo Ic reget |
| 515 | .Op Fl Ppr |
| 516 | .Ar remote-path |
| 517 | .Op Ar local-path |
| 518 | .Xc |
| 519 | Resume download of |
| 520 | .Ar remote-path . |
| 521 | Equivalent to |
| 522 | .Ic get |
| 523 | with the |
| 524 | .Fl a |
| 525 | flag set. |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 526 | .It Ic rename Ar oldpath Ar newpath |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 527 | Rename remote file from |
| 528 | .Ar oldpath |
| 529 | to |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 530 | .Ar newpath . |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 531 | .It Ic rm Ar path |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 532 | Delete remote file specified by |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 533 | .Ar path . |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 534 | .It Ic rmdir Ar path |
| 535 | Remove remote directory specified by |
| 536 | .Ar path . |
Damien Miller | 058316f | 2001-03-08 10:08:49 +1100 | [diff] [blame] | 537 | .It Ic symlink Ar oldpath Ar newpath |
Ben Lindstrom | 2464322 | 2001-06-25 05:08:11 +0000 | [diff] [blame] | 538 | Create a symbolic link from |
Damien Miller | 058316f | 2001-03-08 10:08:49 +1100 | [diff] [blame] | 539 | .Ar oldpath |
| 540 | to |
| 541 | .Ar newpath . |
Damien Miller | 6342180 | 2003-01-08 14:05:23 +1100 | [diff] [blame] | 542 | .It Ic version |
| 543 | Display the |
| 544 | .Nm |
| 545 | protocol version. |
Damien Miller | 62fd18a | 2009-01-28 16:14:09 +1100 | [diff] [blame] | 546 | .It Ic \&! Ns Ar command |
Ben Lindstrom | 2464322 | 2001-06-25 05:08:11 +0000 | [diff] [blame] | 547 | Execute |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 548 | .Ar command |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 549 | in local shell. |
Damien Miller | c2b9827 | 2003-09-03 12:13:30 +1000 | [diff] [blame] | 550 | .It Ic \&! |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 551 | Escape to local shell. |
Damien Miller | c2b9827 | 2003-09-03 12:13:30 +1000 | [diff] [blame] | 552 | .It Ic \&? |
Damien Miller | d7686fd | 2001-02-10 00:40:03 +1100 | [diff] [blame] | 553 | Synonym for help. |
| 554 | .El |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 555 | .Sh SEE ALSO |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 556 | .Xr ftp 1 , |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 557 | .Xr ls 1 , |
Ben Lindstrom | 160ec62 | 2001-04-22 17:17:46 +0000 | [diff] [blame] | 558 | .Xr scp 1 , |
Damien Miller | 3380426 | 2001-02-04 23:20:18 +1100 | [diff] [blame] | 559 | .Xr ssh 1 , |
| 560 | .Xr ssh-add 1 , |
| 561 | .Xr ssh-keygen 1 , |
Darren Tucker | 16e254d | 2004-12-06 22:46:45 +1100 | [diff] [blame] | 562 | .Xr glob 3 , |
Ben Lindstrom | 3072aae | 2002-06-21 01:02:39 +0000 | [diff] [blame] | 563 | .Xr ssh_config 5 , |
Ben Lindstrom | 160ec62 | 2001-04-22 17:17:46 +0000 | [diff] [blame] | 564 | .Xr sftp-server 8 , |
| 565 | .Xr sshd 8 |
| 566 | .Rs |
Ben Lindstrom | 90fd060 | 2001-06-25 04:45:33 +0000 | [diff] [blame] | 567 | .%A T. Ylonen |
| 568 | .%A S. Lehtinen |
Ben Lindstrom | 160ec62 | 2001-04-22 17:17:46 +0000 | [diff] [blame] | 569 | .%T "SSH File Transfer Protocol" |
| 570 | .%N draft-ietf-secsh-filexfer-00.txt |
| 571 | .%D January 2001 |
| 572 | .%O work in progress material |
| 573 | .Re |