summaryrefslogtreecommitdiff
path: root/sshd_config.5
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2008-07-22 19:45:18 +0000
committerColin Watson <cjwatson@debian.org>2008-07-22 19:45:18 +0000
commit137d76ba65883aa8143af1fcad83b57e7badef0c (patch)
treef426e804bb5248ceafedfab7bb78ae6e6752942c /sshd_config.5
parentdac7d049dad31f5f84d421d4eb628a7e13f977d7 (diff)
parentef94e5613d37bcbf880f21ee6094e4b1c7683a4c (diff)
* New upstream release (closes: #474301). Important changes not previously
backported to 4.7p1: - 4.9/4.9p1 (http://www.openssh.com/txt/release-4.9): + Added chroot(2) support for sshd(8), controlled by a new option "ChrootDirectory" (closes: #139047, LP: #24777). + Linked sftp-server(8) into sshd(8). The internal sftp server is used when the command "internal-sftp" is specified in a Subsystem or ForceCommand declaration. When used with ChrootDirectory, the internal sftp server requires no special configuration of files inside the chroot environment. + Added a protocol extension method "posix-rename@openssh.com" for sftp-server(8) to perform POSIX atomic rename() operations; sftp(1) prefers this if available (closes: #308561). + Removed the fixed limit of 100 file handles in sftp-server(8). + ssh(8) will now skip generation of SSH protocol 1 ephemeral server keys when in inetd mode and protocol 2 connections are negotiated. This speeds up protocol 2 connections to inetd-mode servers that also allow Protocol 1. + Accept the PermitRootLogin directive in a sshd_config(5) Match block. Allows for, e.g. permitting root only from the local network. + Reworked sftp(1) argument splitting and escaping to be more internally consistent (i.e. between sftp commands) and more consistent with sh(1). Please note that this will change the interpretation of some quoted strings, especially those with embedded backslash escape sequences. + Support "Banner=none" in sshd_config(5) to disable sending of a pre-login banner (e.g. in a Match block). + ssh(1) ProxyCommands are now executed with $SHELL rather than /bin/sh. + ssh(1)'s ConnectTimeout option is now applied to both the TCP connection and the SSH banner exchange (previously it just covered the TCP connection). This allows callers of ssh(1) to better detect and deal with stuck servers that accept a TCP connection but don't progress the protocol, and also makes ConnectTimeout useful for connections via a ProxyCommand. + scp(1) incorrectly reported "stalled" on slow copies (closes: #140828). + scp(1) date underflow for timestamps before epoch. + ssh(1) used the obsolete SIG DNS RRtype for host keys in DNS, instead of the current standard RRSIG. + Correctly drain ACKs when a sftp(1) upload write fails midway, avoids a fatal() exit from what should be a recoverable condition. + Fixed ssh-keygen(1) selective host key hashing (i.e. "ssh-keygen -HF hostname") to not include any IP address in the data to be hashed. + Make ssh(1) skip listening on the IPv6 wildcard address when a binding address of 0.0.0.0 is used against an old SSH server that does not support the RFC4254 syntax for wildcard bind addresses. + Enable IPV6_V6ONLY socket option on sshd(8) listen socket, as is already done for X11/TCP forwarding sockets (closes: #439661). + Fix FD leak that could hang a ssh(1) connection multiplexing master. + Make ssh(1) -q option documentation consistent with reality. + Fixed sshd(8) PAM support not calling pam_session_close(), or failing to call it with root privileges (closes: #372680). + Fix activation of OpenSSL engine support when requested in configure (LP: #119295). - 5.1/5.1p1 (http://www.openssh.com/txt/release-5.1): + Introduce experimental SSH Fingerprint ASCII Visualisation to ssh(1) and ssh-keygen(1). Visual fingerprint display is controlled by a new ssh_config(5) option "VisualHostKey". The intent is to render SSH host keys in a visual form that is amenable to easy recall and rejection of changed host keys. + sshd_config(5) now supports CIDR address/masklen matching in "Match address" blocks, with a fallback to classic wildcard matching. + sshd(8) now supports CIDR matching in ~/.ssh/authorized_keys from="..." restrictions, also with a fallback to classic wildcard matching. + Added an extended test mode (-T) to sshd(8) to request that it write its effective configuration to stdout and exit. Extended test mode also supports the specification of connection parameters (username, source address and hostname) to test the application of sshd_config(5) Match rules. + ssh(1) now prints the number of bytes transferred and the overall connection throughput for SSH protocol 2 sessions when in verbose mode (previously these statistics were displayed for protocol 1 connections only). + sftp-server(8) now supports extension methods statvfs@openssh.com and fstatvfs@openssh.com that implement statvfs(2)-like operations. + sftp(1) now has a "df" command to the sftp client that uses the statvfs@openssh.com to produce a df(1)-like display of filesystem space and inode utilisation (requires statvfs@openssh.com support on the server). + Added a MaxSessions option to sshd_config(5) to allow control of the number of multiplexed sessions supported over a single TCP connection. This allows increasing the number of allowed sessions above the previous default of 10, disabling connection multiplexing (MaxSessions=1) or disallowing login/shell/subsystem sessions entirely (MaxSessions=0). + Added a no-more-sessions@openssh.com global request extension that is sent from ssh(1) to sshd(8) when the client knows that it will never request another session (i.e. when session multiplexing is disabled). This allows a server to disallow further session requests and terminate the session in cases where the client has been hijacked. + ssh-keygen(1) now supports the use of the -l option in combination with -F to search for a host in ~/.ssh/known_hosts and display its fingerprint. + ssh-keyscan(1) now defaults to "rsa" (protocol 2) keys, instead of "rsa1". + Added an AllowAgentForwarding option to sshd_config(8) to control whether authentication agent forwarding is permitted. Note that this is a loose control, as a client may install their own unofficial forwarder. + ssh(1) and sshd(8): avoid unnecessary malloc/copy/free when receiving network data, resulting in a ~10% speedup. + ssh(1) and sshd(8) will now try additional addresses when connecting to a port forward destination whose DNS name resolves to more than one address. The previous behaviour was to try the only first address and give up if that failed. + ssh(1) and sshd(8) now support signalling that channels are half-closed for writing, through a channel protocol extension notification "eow@openssh.com". This allows propagation of closed file descriptors, so that commands such as "ssh -2 localhost od /bin/ls | true" do not send unnecessary data over the wire. + sshd(8): increased the default size of ssh protocol 1 ephemeral keys from 768 to 1024 bits. + When ssh(1) has been requested to fork after authentication ("ssh -f") with ExitOnForwardFailure enabled, delay the fork until after replies for any -R forwards have been seen. Allows for robust detection of -R forward failure when using -f. + "Match group" blocks in sshd_config(5) now support negation of groups. E.g. "Match group staff,!guests". + sftp(1) and sftp-server(8) now allow chmod-like operations to set set[ug]id/sticky bits. + The MaxAuthTries option is now permitted in sshd_config(5) match blocks. + Multiplexed ssh(1) sessions now support a subset of the ~ escapes that are available to a primary connection. + ssh(1) connection multiplexing will now fall back to creating a new connection in most error cases (closes: #352830). + Make ssh(1) deal more gracefully with channel requests that fail. Previously it would optimistically assume that requests would always succeed, which could cause hangs if they did not (e.g. when the server runs out of file descriptors). + ssh(1) now reports multiplexing errors via the multiplex slave's stderr where possible (subject to LogLevel in the mux master). + Prevent sshd(8) from erroneously applying public key restrictions leaned from ~/.ssh/authorized_keys to other authentication methods when public key authentication subsequently fails (LP: #161047). + Fixed an UMAC alignment problem that manifested on Itanium platforms.
Diffstat (limited to 'sshd_config.5')
-rw-r--r--sshd_config.5108
1 files changed, 102 insertions, 6 deletions
diff --git a/sshd_config.5 b/sshd_config.5
index dab26e079..d5f19ea3d 100644
--- a/sshd_config.5
+++ b/sshd_config.5
@@ -34,8 +34,8 @@
34.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 34.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
35.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 35.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36.\" 36.\"
37.\" $OpenBSD: sshd_config.5,v 1.77 2007/06/08 07:48:09 jmc Exp $ 37.\" $OpenBSD: sshd_config.5,v 1.96 2008/07/02 02:24:18 djm Exp $
38.Dd $Mdocdate: June 11 2007 $ 38.Dd $Mdocdate: July 2 2008 $
39.Dt SSHD_CONFIG 5 39.Dt SSHD_CONFIG 5
40.Os 40.Os
41.Sh NAME 41.Sh NAME
@@ -122,6 +122,15 @@ Valid arguments are
122(use IPv6 only). 122(use IPv6 only).
123The default is 123The default is
124.Dq any . 124.Dq any .
125.It Cm AllowAgentForwarding
126Specifies whether
127.Xr ssh-agent 1
128forwarding is permitted.
129The default is
130.Dq yes .
131Note that disabling agent forwarding does not improve security
132unless users are also denied shell access, as they can always install
133their own forwarders.
125.It Cm AllowGroups 134.It Cm AllowGroups
126This keyword can be followed by a list of group name patterns, separated 135This keyword can be followed by a list of group name patterns, separated
127by spaces. 136by spaces.
@@ -186,10 +195,11 @@ directory.
186The default is 195The default is
187.Dq .ssh/authorized_keys . 196.Dq .ssh/authorized_keys .
188.It Cm Banner 197.It Cm Banner
189In some jurisdictions, sending a warning message before authentication
190may be relevant for getting legal protection.
191The contents of the specified file are sent to the remote user before 198The contents of the specified file are sent to the remote user before
192authentication is allowed. 199authentication is allowed.
200If the argument is
201.Dq none
202then no banner is displayed.
193This option is only available for protocol version 2. 203This option is only available for protocol version 2.
194By default, no banner is displayed. 204By default, no banner is displayed.
195.It Cm ChallengeResponseAuthentication 205.It Cm ChallengeResponseAuthentication
@@ -199,6 +209,45 @@ All authentication styles from
199are supported. 209are supported.
200The default is 210The default is
201.Dq yes . 211.Dq yes .
212.It Cm ChrootDirectory
213Specifies a path to
214.Xr chroot 2
215to after authentication.
216This path, and all its components, must be root-owned directories that are
217not writable by any other user or group.
218.Pp
219The path may contain the following tokens that are expanded at runtime once
220the connecting user has been authenticated: %% is replaced by a literal '%',
221%h is replaced by the home directory of the user being authenticated, and
222%u is replaced by the username of that user.
223.Pp
224The
225.Cm ChrootDirectory
226must contain the necessary files and directories to support the
227users' session.
228For an interactive session this requires at least a shell, typically
229.Xr sh 1 ,
230and basic
231.Pa /dev
232nodes such as
233.Xr null 4 ,
234.Xr zero 4 ,
235.Xr stdin 4 ,
236.Xr stdout 4 ,
237.Xr stderr 4 ,
238.Xr arandom 4
239and
240.Xr tty 4
241devices.
242For file transfer sessions using
243.Dq sftp ,
244no additional configuration of the environment is necessary if the
245in-process sftp server is used (see
246.Cm Subsystem
247for details).
248.Pp
249The default is not to
250.Xr chroot 2 .
202.It Cm Ciphers 251.It Cm Ciphers
203Specifies the ciphers allowed for protocol version 2. 252Specifies the ciphers allowed for protocol version 2.
204Multiple ciphers must be comma-separated. 253Multiple ciphers must be comma-separated.
@@ -322,6 +371,11 @@ block.
322The command originally supplied by the client is available in the 371The command originally supplied by the client is available in the
323.Ev SSH_ORIGINAL_COMMAND 372.Ev SSH_ORIGINAL_COMMAND
324environment variable. 373environment variable.
374Specifying a command of
375.Dq internal-sftp
376will force the use of an in-process sftp server that requires no support
377files when used with
378.Cm ChrootDirectory .
325.It Cm GatewayPorts 379.It Cm GatewayPorts
326Specifies whether remote hosts are allowed to connect to ports 380Specifies whether remote hosts are allowed to connect to ports
327forwarded for the client. 381forwarded for the client.
@@ -553,6 +607,7 @@ line are satisfied, the keywords on the following lines override those
553set in the global section of the config file, until either another 607set in the global section of the config file, until either another
554.Cm Match 608.Cm Match
555line or the end of the file. 609line or the end of the file.
610.Pp
556The arguments to 611The arguments to
557.Cm Match 612.Cm Match
558are one or more criteria-pattern pairs. 613are one or more criteria-pattern pairs.
@@ -562,19 +617,46 @@ The available criteria are
562.Cm Host , 617.Cm Host ,
563and 618and
564.Cm Address . 619.Cm Address .
620The match patterns may consist of single entries or comma-separated
621lists and may use the wildcard and negation operators described in the
622.Sx PATTERNS
623section of
624.Xr ssh_config 5 .
625.Pp
626The patterns in an
627.Cm Address
628criteria may additionally contain addresses to match in CIDR
629address/masklen format, e.g.\&
630.Dq 192.0.2.0/24
631or
632.Dq 3ffe:ffff::/32 .
633Note that the mask length provided must be consistent with the address -
634it is an error to specify a mask length that is too long for the address
635or one with bits set in this host portion of the address.
636For example,
637.Dq 192.0.2.0/33
638and
639.Dq 192.0.2.0/8
640respectively.
641.Pp
565Only a subset of keywords may be used on the lines following a 642Only a subset of keywords may be used on the lines following a
566.Cm Match 643.Cm Match
567keyword. 644keyword.
568Available keywords are 645Available keywords are
569.Cm AllowTcpForwarding , 646.Cm AllowTcpForwarding ,
570.Cm Banner , 647.Cm Banner ,
648.Cm ChrootDirectory ,
571.Cm ForceCommand , 649.Cm ForceCommand ,
572.Cm GatewayPorts , 650.Cm GatewayPorts ,
573.Cm GSSApiAuthentication , 651.Cm GSSAPIAuthentication ,
652.Cm HostbasedAuthentication ,
574.Cm KbdInteractiveAuthentication , 653.Cm KbdInteractiveAuthentication ,
575.Cm KerberosAuthentication , 654.Cm KerberosAuthentication ,
655.Cm MaxAuthTries ,
656.Cm MaxSessions ,
576.Cm PasswordAuthentication , 657.Cm PasswordAuthentication ,
577.Cm PermitOpen , 658.Cm PermitOpen ,
659.Cm PermitRootLogin ,
578.Cm RhostsRSAAuthentication , 660.Cm RhostsRSAAuthentication ,
579.Cm RSAAuthentication , 661.Cm RSAAuthentication ,
580.Cm X11DisplayOffset , 662.Cm X11DisplayOffset ,
@@ -587,6 +669,9 @@ connection.
587Once the number of failures reaches half this value, 669Once the number of failures reaches half this value,
588additional failures are logged. 670additional failures are logged.
589The default is 6. 671The default is 6.
672.It Cm MaxSessions
673Specifies the maximum number of open sessions permitted per network connection.
674The default is 10.
590.It Cm MaxStartups 675.It Cm MaxStartups
591Specifies the maximum number of concurrent unauthenticated connections to the 676Specifies the maximum number of concurrent unauthenticated connections to the
592SSH daemon. 677SSH daemon.
@@ -790,7 +875,7 @@ The default is
790This option applies to protocol version 1 only. 875This option applies to protocol version 1 only.
791.It Cm ServerKeyBits 876.It Cm ServerKeyBits
792Defines the number of bits in the ephemeral protocol version 1 server key. 877Defines the number of bits in the ephemeral protocol version 1 server key.
793The minimum value is 512, and the default is 768. 878The minimum value is 512, and the default is 1024.
794.It Cm StrictModes 879.It Cm StrictModes
795Specifies whether 880Specifies whether
796.Xr sshd 8 881.Xr sshd 8
@@ -804,11 +889,22 @@ The default is
804Configures an external subsystem (e.g. file transfer daemon). 889Configures an external subsystem (e.g. file transfer daemon).
805Arguments should be a subsystem name and a command (with optional arguments) 890Arguments should be a subsystem name and a command (with optional arguments)
806to execute upon subsystem request. 891to execute upon subsystem request.
892.Pp
807The command 893The command
808.Xr sftp-server 8 894.Xr sftp-server 8
809implements the 895implements the
810.Dq sftp 896.Dq sftp
811file transfer subsystem. 897file transfer subsystem.
898.Pp
899Alternately the name
900.Dq internal-sftp
901implements an in-process
902.Dq sftp
903server.
904This may simplify configurations using
905.Cm ChrootDirectory
906to force a different filesystem root on clients.
907.Pp
812By default no subsystems are defined. 908By default no subsystems are defined.
813Note that this option applies to protocol version 2 only. 909Note that this option applies to protocol version 2 only.
814.It Cm SyslogFacility 910.It Cm SyslogFacility