1SFTP(1) OpenBSD Reference Manual SFTP(1) 2 3NAME 4 sftp - secure file transfer program 5 6SYNOPSIS 7 sftp [-1246Cpqrv] [-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 15DESCRIPTION 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 -B buffer_size 48 Specify the size of the buffer that sftp uses when transferring 49 files. Larger buffers require fewer round trips at the cost of 50 higher memory consumption. The default is 32768 bytes. 51 52 -b batchfile 53 Batch mode reads a series of commands from an input batchfile 54 instead of stdin. Since it lacks user interaction it should be 55 used in conjunction with non-interactive authentication. A 56 batchfile of `-' may be used to indicate standard input. sftp 57 will abort if any of the following commands fail: get, put, 58 rename, ln, rm, mkdir, chdir, ls, lchdir, chmod, chown, chgrp, 59 lpwd, df, symlink, and lmkdir. Termination on error can be 60 suppressed on a command by command basis by prefixing the command 61 with a `-' character (for example, -rm /tmp/blah*). 62 63 -C Enables compression (via ssh's -C flag). 64 65 -c cipher 66 Selects the cipher to use for encrypting the data transfers. 67 This option is directly passed to ssh(1). 68 69 -D sftp_server_path 70 Connect directly to a local sftp server (rather than via ssh(1)). 71 This option may be useful in debugging the client and server. 72 73 -F ssh_config 74 Specifies an alternative per-user configuration file for ssh(1). 75 This option is directly passed to ssh(1). 76 77 -i identity_file 78 Selects the file from which the identity (private key) for public 79 key authentication is read. This option is directly passed to 80 ssh(1). 81 82 -l limit 83 Limits the used bandwidth, specified in Kbit/s. 84 85 -o ssh_option 86 Can be used to pass options to ssh in the format used in 87 ssh_config(5). This is useful for specifying options for which 88 there is no separate sftp command-line flag. For example, to 89 specify an alternate port use: sftp -oPort=24. For full details 90 of the options listed below, and their possible values, see 91 ssh_config(5). 92 93 AddressFamily 94 BatchMode 95 BindAddress 96 ChallengeResponseAuthentication 97 CheckHostIP 98 Cipher 99 Ciphers 100 Compression 101 CompressionLevel 102 ConnectionAttempts 103 ConnectTimeout 104 ControlMaster 105 ControlPath 106 ControlPersist 107 GlobalKnownHostsFile 108 GSSAPIAuthentication 109 GSSAPIDelegateCredentials 110 HashKnownHosts 111 Host 112 HostbasedAuthentication 113 HostKeyAlgorithms 114 HostKeyAlias 115 HostName 116 IdentityFile 117 IdentitiesOnly 118 IPQoS 119 KbdInteractiveAuthentication 120 KbdInteractiveDevices 121 KexAlgorithms 122 LogLevel 123 MACs 124 NoHostAuthenticationForLocalhost 125 NumberOfPasswordPrompts 126 PasswordAuthentication 127 PKCS11Provider 128 Port 129 PreferredAuthentications 130 Protocol 131 ProxyCommand 132 PubkeyAuthentication 133 RekeyLimit 134 RhostsRSAAuthentication 135 RSAAuthentication 136 SendEnv 137 ServerAliveInterval 138 ServerAliveCountMax 139 StrictHostKeyChecking 140 TCPKeepAlive 141 UsePrivilegedPort 142 User 143 UserKnownHostsFile 144 VerifyHostKeyDNS 145 146 -P port 147 Specifies the port to connect to on the remote host. 148 149 -p Preserves modification times, access times, and modes from the 150 original files transferred. 151 152 -q Quiet mode: disables the progress meter as well as warning and 153 diagnostic messages from ssh(1). 154 155 -R num_requests 156 Specify how many requests may be outstanding at any one time. 157 Increasing this may slightly improve file transfer speed but will 158 increase memory usage. The default is 64 outstanding requests. 159 160 -r Recursively copy entire directories when uploading and 161 downloading. Note that sftp does not follow symbolic links 162 encountered in the tree traversal. 163 164 -S program 165 Name of the program to use for the encrypted connection. The 166 program must understand ssh(1) options. 167 168 -s subsystem | sftp_server 169 Specifies the SSH2 subsystem or the path for an sftp server on 170 the remote host. A path is useful for using sftp over protocol 171 version 1, or when the remote sshd(8) does not have an sftp 172 subsystem configured. 173 174 -v Raise logging level. This option is also passed to ssh. 175 176INTERACTIVE COMMANDS 177 Once in interactive mode, sftp understands a set of commands similar to 178 those of ftp(1). Commands are case insensitive. Pathnames that contain 179 spaces must be enclosed in quotes. Any special characters contained 180 within pathnames that are recognized by glob(3) must be escaped with 181 backslashes (`\'). 182 183 bye Quit sftp. 184 185 cd path 186 Change remote directory to path. 187 188 chgrp grp path 189 Change group of file path to grp. path may contain glob(3) 190 characters and may match multiple files. grp must be a numeric 191 GID. 192 193 chmod mode path 194 Change permissions of file path to mode. path may contain 195 glob(3) characters and may match multiple files. 196 197 chown own path 198 Change owner of file path to own. path may contain glob(3) 199 characters and may match multiple files. own must be a numeric 200 UID. 201 202 df [-hi] [path] 203 Display usage information for the filesystem holding the current 204 directory (or path if specified). If the -h flag is specified, 205 the capacity information will be displayed using "human-readable" 206 suffixes. The -i flag requests display of inode information in 207 addition to capacity information. This command is only supported 208 on servers that implement the ``statvfs@openssh.com'' extension. 209 210 exit Quit sftp. 211 212 get [-Ppr] remote-path [local-path] 213 Retrieve the remote-path and store it on the local machine. If 214 the local path name is not specified, it is given the same name 215 it has on the remote machine. remote-path may contain glob(3) 216 characters and may match multiple files. If it does and 217 local-path is specified, then local-path must specify a 218 directory. 219 220 If either the -P or -p flag is specified, then full file 221 permissions and access times are copied too. 222 223 If the -r flag is specified then directories will be copied 224 recursively. Note that sftp does not follow symbolic links when 225 performing recursive transfers. 226 227 help Display help text. 228 229 lcd path 230 Change local directory to path. 231 232 lls [ls-options [path]] 233 Display local directory listing of either path or current 234 directory if path is not specified. ls-options may contain any 235 flags supported by the local system's ls(1) command. path may 236 contain glob(3) characters and may match multiple files. 237 238 lmkdir path 239 Create local directory specified by path. 240 241 ln [-s] oldpath newpath 242 Create a link from oldpath to newpath. If the -s flag is 243 specified the created link is a symbolic link, otherwise it is a 244 hard link. 245 246 lpwd Print local working directory. 247 248 ls [-1afhlnrSt] [path] 249 Display a remote directory listing of either path or the current 250 directory if path is not specified. path may contain glob(3) 251 characters and may match multiple files. 252 253 The following flags are recognized and alter the behaviour of ls 254 accordingly: 255 256 -1 Produce single columnar output. 257 258 -a List files beginning with a dot (`.'). 259 260 -f Do not sort the listing. The default sort order is 261 lexicographical. 262 263 -h When used with a long format option, use unit suffixes: 264 Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte, 265 and Exabyte in order to reduce the number of digits to 266 four or fewer using powers of 2 for sizes (K=1024, 267 M=1048576, etc.). 268 269 -l Display additional details including permissions and 270 ownership information. 271 272 -n Produce a long listing with user and group information 273 presented numerically. 274 275 -r Reverse the sort order of the listing. 276 277 -S Sort the listing by file size. 278 279 -t Sort the listing by last modification time. 280 281 lumask umask 282 Set local umask to umask. 283 284 mkdir path 285 Create remote directory specified by path. 286 287 progress 288 Toggle display of progress meter. 289 290 put [-Ppr] local-path [remote-path] 291 Upload local-path and store it on the remote machine. If the 292 remote path name is not specified, it is given the same name it 293 has on the local machine. local-path may contain glob(3) 294 characters and may match multiple files. If it does and 295 remote-path is specified, then remote-path must specify a 296 directory. 297 298 If either the -P or -p flag is specified, then full file 299 permissions and access times are copied too. 300 301 If the -r flag is specified then directories will be copied 302 recursively. Note that sftp does not follow symbolic links when 303 performing recursive transfers. 304 305 pwd Display remote working directory. 306 307 quit Quit sftp. 308 309 rename oldpath newpath 310 Rename remote file from oldpath to newpath. 311 312 rm path 313 Delete remote file specified by path. 314 315 rmdir path 316 Remove remote directory specified by path. 317 318 symlink oldpath newpath 319 Create a symbolic link from oldpath to newpath. 320 321 version 322 Display the sftp protocol version. 323 324 !command 325 Execute command in local shell. 326 327 ! Escape to local shell. 328 329 ? Synonym for help. 330 331SEE ALSO 332 ftp(1), ls(1), scp(1), ssh(1), ssh-add(1), ssh-keygen(1), glob(3), 333 ssh_config(5), sftp-server(8), sshd(8) 334 335 T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, 336 draft-ietf-secsh-filexfer-00.txt, January 2001, work in progress 337 material. 338 339OpenBSD 5.3 September 5, 2011 OpenBSD 5.3 340