sftp-server(8)

sftp-server8

Openssh sftp server subsystem

Usage

sftp-server [-ehR] [-d start_directory] [-f log_facility] [-l log_level] [-P denied_requests] [-p allowed_requests] [-u umask]

sftp-server -Q protocol_feature

Overview

sftp-server is a program that speaks the server side of SFTP protocol to stdout and expects client requests from stdin. sftp-server is not intended to be called directly, but from sshd(8) using the Subsystem option.

Command-line flags to sftp-server should be specified in the Subsystem declaration. See sshd_config(5) for more information.

Valid options are:

-d start_directory

Specifies an alternate starting directory for users. The pathname may contain the following tokens that are expanded at runtime: %% is replaced by a literal '%', %d is replaced by the home directory of the user being authenticated, and %u is replaced by the username of that user. The default is to use the user's home directory. This option is useful in conjunction with the sshd_config(5) ChrootDirectory option.

-e

Causes sftp-server to print logging information to stderr instead of syslog for debugging.

-f log_facility

Specifies the facility code that is used when logging messages from sftp-server. The possible values are: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The default is AUTH.

-h

Displays sftp-server usage information.

-l log_level

Specifies which messages will be logged by sftp-server. The possible values are: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. INFO and VERBOSE log transactions that sftp-server performs on behalf of the client. DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify higher levels of debugging output. The default is ERROR.

-P denied_requests

Specifies a comma-separated list of SFTP protocol requests that are banned by the server. sftp-server will reply to any denied request with a failure. The -Q flag can be used to determine the supported request types. If both denied and allowed lists are specified, then the denied list is applied before the allowed list.

-p allowed_requests

Specifies a comma-separated list of SFTP protocol requests that are permitted by the server. All request types that are not on the allowed list will be logged and replied to with a failure message.

Care must be taken when using this feature to ensure that requests made implicitly by SFTP clients are permitted.

-Q protocol_feature

Queries protocol features supported by sftp-server. At present the only feature that may be queried is “requests”, which may be used to deny or allow specific requests (flags -P and -p respectively).

-R

Places this instance of sftp-server into a read-only mode. Attempts to open files for writing, as well as other operations that change the state of the filesystem, will be denied.

-u umask

Sets an explicit umask(2) to be applied to newly-created files and directories, instead of the user's default mask.

On some systems, sftp-server must be able to access /dev/log for logging to work, and use of sftp-server in a chroot configuration therefore requires that syslogd(8) establish a logging socket inside the chroot directory.

Releases

164 releases since Mac OS X 10.0; the text changed 11 times.

  1. 10.0–10.0.1
  2. 10.0.4–10.1.2
  3. 10.1.3–10.3.9
  4. 10.4–10.4.8
  5. 10.4.9–10.5.2
  6. 10.5.3–10.5.4
  7. 10.5.5–10.6.8
  8. 10.7–10.8.5
  9. 10.9–10.10.5
  10. 10.11–11.5
  11. 12.0.1–12.5
  12. 13.0–26.5

-P since OS X 10.11; -Q since OS X 10.11; -R since Mac OS X 10.7; -d since OS X 10.9; -e since Mac OS X 10.7; -f since Mac OS X 10.4.9.ppc; -h since Mac OS X 10.7; -l since Mac OS X 10.4.9.ppc; -p since OS X 10.11; -u since Mac OS X 10.7.

History

sftp-server first appeared in OpenBSD 2.8.

Authors

Markus Friedl ⟨[email protected]⟩

From OpenSSH 354.120.2 in macOS 26.5. Parsed by carta from the page's mdoc source.