-.\" $OpenBSD: sftp.1,v 1.46 2003/10/08 08:27:36 jmc Exp $
+.\" $OpenBSD: sftp.1,v 1.63 2006/01/20 00:14:55 dtucker Exp $
.\"
.\" Copyright (c) 2001 Damien Miller. All rights reserved.
.\"
authentication method is used; otherwise it will do so after
successful interactive authentication.
.Pp
-The third usage format allows the sftp client to start in a remote directory.
+The third usage format allows
+.Nm
+to start in a remote directory.
.Pp
The final usage format allows for automated sessions using the
.Fl b
option.
-In such cases, it is usually necessary to configure public key authentication
+In such cases, it is necessary to configure non-interactive authentication
to obviate the need to enter a password at connection time (see
.Xr sshd 8
and
.Em stdin .
Since it lacks user interaction it should be used in conjunction with
non-interactive authentication.
+A
+.Ar batchfile
+of
+.Sq \-
+may be used to indicate standard input.
.Nm
will abort if any of the following
commands fail:
.Ic lmkdir .
Termination on error can be suppressed on a command by command basis by
prefixing the command with a
-.Sq Ic \-
+.Sq \-
character (for example,
.Ic -rm /tmp/blah* ) .
.It Fl C
.It CheckHostIP
.It Cipher
.It Ciphers
-.It ClearAllForwardings
.It Compression
.It CompressionLevel
.It ConnectionAttempts
-.It ConnectionTimeout
-.It DynamicForward
-.It EscapeChar
-.It ForwardAgent
-.It ForwardX11
-.It GatewayPorts
+.It ConnectTimeout
+.It ControlMaster
+.It ControlPath
.It GlobalKnownHostsFile
.It GSSAPIAuthentication
.It GSSAPIDelegateCredentials
+.It HashKnownHosts
.It Host
.It HostbasedAuthentication
.It HostKeyAlgorithms
.It HostKeyAlias
.It HostName
.It IdentityFile
-.It KeepAlive
-.It LocalForward
+.It IdentitiesOnly
+.It KbdInteractiveDevices
.It LogLevel
.It MACs
.It NoHostAuthenticationForLocalhost
.It Protocol
.It ProxyCommand
.It PubkeyAuthentication
-.It RemoteForward
+.It RekeyLimit
.It RhostsRSAAuthentication
.It RSAAuthentication
+.It SendEnv
+.It ServerAliveInterval
+.It ServerAliveCountMax
.It SmartcardDevice
.It StrictHostKeyChecking
+.It TCPKeepAlive
.It UsePrivilegedPort
.It User
.It UserKnownHostsFile
.It VerifyHostKeyDNS
-.It XAuthLocation
.El
.It Fl P Ar sftp_server_path
Connect directly to a local sftp server
(rather than via
-.Xr ssh 1 )
+.Xr ssh 1 ) .
This option may be useful in debugging the client and server.
.It Fl R Ar num_requests
Specify how many requests may be outstanding at any one time.
.Nm
understands a set of commands similar to those of
.Xr ftp 1 .
-Commands are case insensitive and pathnames may be enclosed in quotes if they
-contain spaces.
-.Bl -tag -width "lmdir path"
+Commands are case insensitive.
+Pathnames that contain spaces must be enclosed in quotes.
+Any special characters contained within pathnames that are recognized by
+.Xr glob 3
+must be escaped with backslashes
+.Pq Sq \e .
+.Bl -tag -width Ds
.It Ic bye
Quit
.Nm sftp .
.Ar path
to
.Ar grp .
+.Ar path
+may contain
+.Xr glob 3
+characters and may match multiple files.
.Ar grp
must be a numeric GID.
.It Ic chmod Ar mode Ar path
.Ar path
to
.Ar mode .
+.Ar path
+may contain
+.Xr glob 3
+characters and may match multiple files.
.It Ic chown Ar own Ar path
Change owner of file
.Ar path
to
.Ar own .
+.Ar path
+may contain
+.Xr glob 3
+characters and may match multiple files.
.Ar own
must be a numeric UID.
.It Ic exit
Quit
.Nm sftp .
.It Xo Ic get
-.Op Ar flags
+.Op Fl P
.Ar remote-path
.Op Ar local-path
.Xc
If the local
path name is not specified, it is given the same name it has on the
remote machine.
+.Ar remote-path
+may contain
+.Xr glob 3
+characters and may match multiple files.
+If it does and
+.Ar local-path
+is specified, then
+.Ar local-path
+must specify a directory.
If the
.Fl P
-flag is specified, then the file's full permission and access time are
+flag is specified, then full file permissions and access times are
copied too.
.It Ic help
Display help text.
or current directory if
.Ar path
is not specified.
+.Ar ls-options
+may contain any flags supported by the local system's
+.Xr ls 1
+command.
+.Ar path
+may contain
+.Xr glob 3
+characters and may match multiple files.
.It Ic lmkdir Ar path
Create local directory specified by
.Ar path .
.It Ic lpwd
Print local working directory.
.It Xo Ic ls
-.Op Ar flags
+.Op Fl 1aflnrSt
.Op Ar path
.Xc
-Display remote directory listing of either
+Display a remote directory listing of either
.Ar path
-or current directory if
+or the current directory if
.Ar path
is not specified.
-If the
-.Fl l
-flag is specified, then display additional details including permissions
+.Ar path
+may contain
+.Xr glob 3
+characters and may match multiple files.
+.Pp
+The following flags are recognized and alter the behaviour of
+.Ic ls
+accordingly:
+.Bl -tag -width Ds
+.It Fl 1
+Produce single columnar output.
+.It Fl a
+List files beginning with a dot
+.Pq Sq \&. .
+.It Fl f
+Do not sort the listing.
+The default sort order is lexicographical.
+.It Fl l
+Display additional details including permissions
and ownership information.
+.It Fl n
+Produce a long listing with user and group information presented
+numerically.
+.It Fl r
+Reverse the sort order of the listing.
+.It Fl S
+Sort the listing by file size.
+.It Fl t
+Sort the listing by last modification time.
+.El
.It Ic lumask Ar umask
Set local umask to
.Ar umask .
.It Ic progress
Toggle display of progress meter.
.It Xo Ic put
-.Op Ar flags
+.Op Fl P
.Ar local-path
.Op Ar remote-path
.Xc
and store it on the remote machine.
If the remote path name is not specified, it is given the same name it has
on the local machine.
+.Ar local-path
+may contain
+.Xr glob 3
+characters and may match multiple files.
+If it does and
+.Ar remote-path
+is specified, then
+.Ar remote-path
+must specify a directory.
If the
.Fl P
flag is specified, then the file's full permission and access time are
.El
.Sh SEE ALSO
.Xr ftp 1 ,
+.Xr ls 1 ,
.Xr scp 1 ,
.Xr ssh 1 ,
.Xr ssh-add 1 ,
.Xr ssh-keygen 1 ,
+.Xr glob 3 ,
.Xr ssh_config 5 ,
.Xr sftp-server 8 ,
.Xr sshd 8