summaryrefslogtreecommitdiff
path: root/sshd_config.0
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2003-09-17 00:32:19 +0000
committerColin Watson <cjwatson@debian.org>2003-09-17 00:32:19 +0000
commit22f9b945efa61bba12a4778b889df07cf851838a (patch)
tree77a3f749ea589c590db930cff12d804a4d7893b5 /sshd_config.0
parent9d1471514608023cda6456f5a2e875cc5e4b9e77 (diff)
parent854156dd39acbde9b4a47ec0fc54a042ea7358e0 (diff)
Import OpenSSH 3.7p1.
Diffstat (limited to 'sshd_config.0')
-rw-r--r--sshd_config.0459
1 files changed, 459 insertions, 0 deletions
diff --git a/sshd_config.0 b/sshd_config.0
new file mode 100644
index 000000000..bc266317f
--- /dev/null
+++ b/sshd_config.0
@@ -0,0 +1,459 @@
1SSHD_CONFIG(5) BSD File Formats Manual SSHD_CONFIG(5)
2
3NAME
4 sshd_config - OpenSSH SSH daemon configuration file
5
6SYNOPSIS
7 /etc/ssh/sshd_config
8
9DESCRIPTION
10 sshd reads configuration data from /etc/ssh/sshd_config (or the file
11 specified with -f on the command line). The file contains keyword-argu-
12 ment pairs, one per line. Lines starting with M-bM-^@M-^X#M-bM-^@M-^Y and empty lines are
13 interpreted as comments.
14
15 The possible keywords and their meanings are as follows (note that key-
16 words are case-insensitive and arguments are case-sensitive):
17
18 AllowGroups
19 This keyword can be followed by a list of group name patterns,
20 separated by spaces. If specified, login is allowed only for
21 users whose primary group or supplementary group list matches one
22 of the patterns. M-bM-^@M-^X*M-bM-^@M-^Y and M-bM-^@M-^X?M-bM-^@M-^Y can be used as wildcards in the
23 patterns. Only group names are valid; a numerical group ID is
24 not recognized. By default, login is allowed for all groups.
25
26 AllowTcpForwarding
27 Specifies whether TCP forwarding is permitted. The default is
28 M-bM-^@M-^\yesM-bM-^@M-^]. Note that disabling TCP forwarding does not improve secu-
29 rity unless users are also denied shell access, as they can
30 always install their own forwarders.
31
32 AllowUsers
33 This keyword can be followed by a list of user name patterns,
34 separated by spaces. If specified, login is allowed only for
35 user names that match one of the patterns. M-bM-^@M-^X*M-bM-^@M-^Y and M-bM-^@M-^X?M-bM-^@M-^Y can be
36 used as wildcards in the patterns. Only user names are valid; a
37 numerical user ID is not recognized. By default, login is
38 allowed for all users. If the pattern takes the form USER@HOST
39 then USER and HOST are separately checked, restricting logins to
40 particular users from particular hosts.
41
42 AuthorizedKeysFile
43 Specifies the file that contains the public keys that can be used
44 for user authentication. AuthorizedKeysFile may contain tokens
45 of the form %T which are substituted during connection set-up.
46 The following tokens are defined: %% is replaced by a literal
47 M-bM-^@M-^Y%M-bM-^@M-^Y, %h is replaced by the home directory of the user being
48 authenticated and %u is replaced by the username of that user.
49 After expansion, AuthorizedKeysFile is taken to be an absolute
50 path or one relative to the userM-bM-^@M-^Ys home directory. The default
51 is M-bM-^@M-^\.ssh/authorized_keysM-bM-^@M-^].
52
53 Banner In some jurisdictions, sending a warning message before authenti-
54 cation may be relevant for getting legal protection. The con-
55 tents of the specified file are sent to the remote user before
56 authentication is allowed. This option is only available for
57 protocol version 2. By default, no banner is displayed.
58
59 ChallengeResponseAuthentication
60 Specifies whether challenge response authentication is allowed.
61 All authentication styles from login.conf(5) are supported. The
62 default is M-bM-^@M-^\yesM-bM-^@M-^].
63
64 Ciphers
65 Specifies the ciphers allowed for protocol version 2. Multiple
66 ciphers must be comma-separated. The default is
67
68 M-bM-^@M-^XM-bM-^@M-^Xaes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,
69 aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctrM-bM-^@M-^YM-bM-^@M-^Y
70
71 ClientAliveInterval
72 Sets a timeout interval in seconds after which if no data has
73 been received from the client, sshd will send a message through
74 the encrypted channel to request a response from the client. The
75 default is 0, indicating that these messages will not be sent to
76 the client. This option applies to protocol version 2 only.
77
78 ClientAliveCountMax
79 Sets the number of client alive messages (see above) which may be
80 sent without sshd receiving any messages back from the client.
81 If this threshold is reached while client alive messages are
82 being sent, sshd will disconnect the client, terminating the ses-
83 sion. It is important to note that the use of client alive mes-
84 sages is very different from KeepAlive (below). The client alive
85 messages are sent through the encrypted channel and therefore
86 will not be spoofable. The TCP keepalive option enabled by
87 KeepAlive is spoofable. The client alive mechanism is valuable
88 when the client or server depend on knowing when a connection has
89 become inactive.
90
91 The default value is 3. If ClientAliveInterval (above) is set to
92 15, and ClientAliveCountMax is left at the default, unresponsive
93 ssh clients will be disconnected after approximately 45 seconds.
94
95 Compression
96 Specifies whether compression is allowed. The argument must be
97 M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\yesM-bM-^@M-^].
98
99 DenyGroups
100 This keyword can be followed by a list of group name patterns,
101 separated by spaces. Login is disallowed for users whose primary
102 group or supplementary group list matches one of the patterns.
103 M-bM-^@M-^X*M-bM-^@M-^Y and M-bM-^@M-^X?M-bM-^@M-^Y can be used as wildcards in the patterns. Only group
104 names are valid; a numerical group ID is not recognized. By
105 default, login is allowed for all groups.
106
107 DenyUsers
108 This keyword can be followed by a list of user name patterns,
109 separated by spaces. Login is disallowed for user names that
110 match one of the patterns. M-bM-^@M-^X*M-bM-^@M-^Y and M-bM-^@M-^X?M-bM-^@M-^Y can be used as wildcards
111 in the patterns. Only user names are valid; a numerical user ID
112 is not recognized. By default, login is allowed for all users.
113 If the pattern takes the form USER@HOST then USER and HOST are
114 separately checked, restricting logins to particular users from
115 particular hosts.
116
117 GatewayPorts
118 Specifies whether remote hosts are allowed to connect to ports
119 forwarded for the client. By default, sshd binds remote port
120 forwardings to the loopback address. This prevents other remote
121 hosts from connecting to forwarded ports. GatewayPorts can be
122 used to specify that sshd should bind remote port forwardings to
123 the wildcard address, thus allowing remote hosts to connect to
124 forwarded ports. The argument must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The
125 default is M-bM-^@M-^\noM-bM-^@M-^].
126
127 GSSAPIAuthentication
128 Specifies whether user authentication based on GSSAPI is allowed.
129 The default is M-bM-^@M-^\noM-bM-^@M-^]. Note that this option applies to protocol
130 version 2 only.
131
132 GSSAPICleanupCredentials
133 Specifies whether to automatically destroy the userM-bM-^@M-^Ys credentials
134 cache on logout. The default is M-bM-^@M-^\yesM-bM-^@M-^]. Note that this option
135 applies to protocol version 2 only.
136
137 HostbasedAuthentication
138 Specifies whether rhosts or /etc/hosts.equiv authentication
139 together with successful public key client host authentication is
140 allowed (hostbased authentication). This option is similar to
141 RhostsRSAAuthentication and applies to protocol version 2 only.
142 The default is M-bM-^@M-^\noM-bM-^@M-^].
143
144 HostKey
145 Specifies a file containing a private host key used by SSH. The
146 default is /etc/ssh/ssh_host_key for protocol version 1, and
147 /etc/ssh/ssh_host_rsa_key and /etc/ssh/ssh_host_dsa_key for pro-
148 tocol version 2. Note that sshd will refuse to use a file if it
149 is group/world-accessible. It is possible to have multiple host
150 key files. M-bM-^@M-^\rsa1M-bM-^@M-^] keys are used for version 1 and M-bM-^@M-^\dsaM-bM-^@M-^] or M-bM-^@M-^\rsaM-bM-^@M-^]
151 are used for version 2 of the SSH protocol.
152
153 IgnoreRhosts
154 Specifies that .rhosts and .shosts files will not be used in
155 RhostsRSAAuthentication or HostbasedAuthentication.
156
157 /etc/hosts.equiv and /etc/shosts.equiv are still used. The
158 default is M-bM-^@M-^\yesM-bM-^@M-^].
159
160 IgnoreUserKnownHosts
161 Specifies whether sshd should ignore the userM-bM-^@M-^Ys
162 $HOME/.ssh/known_hosts during RhostsRSAAuthentication or
163 HostbasedAuthentication. The default is M-bM-^@M-^\noM-bM-^@M-^].
164
165 KeepAlive
166 Specifies whether the system should send TCP keepalive messages
167 to the other side. If they are sent, death of the connection or
168 crash of one of the machines will be properly noticed. However,
169 this means that connections will die if the route is down tem-
170 porarily, and some people find it annoying. On the other hand,
171 if keepalives are not sent, sessions may hang indefinitely on the
172 server, leaving M-bM-^@M-^\ghostM-bM-^@M-^] users and consuming server resources.
173
174 The default is M-bM-^@M-^\yesM-bM-^@M-^] (to send keepalives), and the server will
175 notice if the network goes down or the client host crashes. This
176 avoids infinitely hanging sessions.
177
178 To disable keepalives, the value should be set to M-bM-^@M-^\noM-bM-^@M-^].
179
180 KerberosAuthentication
181 Specifies whether the password provided by the user for
182 PasswordAuthentication will be validated through the Kerberos
183 KDC. To use this option, the server needs a Kerberos servtab
184 which allows the verification of the KDCM-bM-^@M-^Ys identity. Default is
185 M-bM-^@M-^\noM-bM-^@M-^].
186
187 KerberosOrLocalPasswd
188 If set then if password authentication through Kerberos fails
189 then the password will be validated via any additional local
190 mechanism such as /etc/passwd. Default is M-bM-^@M-^\yesM-bM-^@M-^].
191
192 KerberosTicketCleanup
193 Specifies whether to automatically destroy the userM-bM-^@M-^Ys ticket
194 cache file on logout. Default is M-bM-^@M-^\yesM-bM-^@M-^].
195
196 KeyRegenerationInterval
197 In protocol version 1, the ephemeral server key is automatically
198 regenerated after this many seconds (if it has been used). The
199 purpose of regeneration is to prevent decrypting captured ses-
200 sions by later breaking into the machine and stealing the keys.
201 The key is never stored anywhere. If the value is 0, the key is
202 never regenerated. The default is 3600 (seconds).
203
204 ListenAddress
205 Specifies the local addresses sshd should listen on. The follow-
206 ing forms may be used:
207
208 ListenAddress host|IPv4_addr|IPv6_addr
209 ListenAddress host|IPv4_addr:port
210 ListenAddress [host|IPv6_addr]:port
211
212 If port is not specified, sshd will listen on the address and all
213 prior Port options specified. The default is to listen on all
214 local addresses. Multiple ListenAddress options are permitted.
215 Additionally, any Port options must precede this option for non
216 port qualified addresses.
217
218 LoginGraceTime
219 The server disconnects after this time if the user has not suc-
220 cessfully logged in. If the value is 0, there is no time limit.
221 The default is 120 seconds.
222
223 LogLevel
224 Gives the verbosity level that is used when logging messages from
225 sshd. The possible values are: QUIET, FATAL, ERROR, INFO, VER-
226 BOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3. The default is INFO.
227 DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify
228 higher levels of debugging output. Logging with a DEBUG level
229 violates the privacy of users and is not recommended.
230
231 MACs Specifies the available MAC (message authentication code) algo-
232 rithms. The MAC algorithm is used in protocol version 2 for data
233 integrity protection. Multiple algorithms must be comma-sepa-
234 rated. The default is
235 M-bM-^@M-^\hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96M-bM-^@M-^].
236
237 MaxStartups
238 Specifies the maximum number of concurrent unauthenticated con-
239 nections to the sshd daemon. Additional connections will be
240 dropped until authentication succeeds or the LoginGraceTime
241 expires for a connection. The default is 10.
242
243 Alternatively, random early drop can be enabled by specifying the
244 three colon separated values M-bM-^@M-^\start:rate:fullM-bM-^@M-^] (e.g.,
245 "10:30:60"). sshd will refuse connection attempts with a proba-
246 bility of M-bM-^@M-^\rate/100M-bM-^@M-^] (30%) if there are currently M-bM-^@M-^\startM-bM-^@M-^] (10)
247 unauthenticated connections. The probability increases linearly
248 and all connection attempts are refused if the number of unau-
249 thenticated connections reaches M-bM-^@M-^\fullM-bM-^@M-^] (60).
250
251 PasswordAuthentication
252 Specifies whether password authentication is allowed. The
253 default is M-bM-^@M-^\yesM-bM-^@M-^].
254
255 PermitEmptyPasswords
256 When password authentication is allowed, it specifies whether the
257 server allows login to accounts with empty password strings. The
258 default is M-bM-^@M-^\noM-bM-^@M-^].
259
260 PermitRootLogin
261 Specifies whether root can login using ssh(1). The argument must
262 be M-bM-^@M-^\yesM-bM-^@M-^], M-bM-^@M-^\without-passwordM-bM-^@M-^], M-bM-^@M-^\forced-commands-onlyM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^].
263 The default is M-bM-^@M-^\yesM-bM-^@M-^].
264
265 If this option is set to M-bM-^@M-^\without-passwordM-bM-^@M-^] password authentica-
266 tion is disabled for root.
267
268 If this option is set to M-bM-^@M-^\forced-commands-onlyM-bM-^@M-^] root login with
269 public key authentication will be allowed, but only if the
270 command option has been specified (which may be useful for taking
271 remote backups even if root login is normally not allowed). All
272 other authentication methods are disabled for root.
273
274 If this option is set to M-bM-^@M-^\noM-bM-^@M-^] root is not allowed to login.
275
276 PermitUserEnvironment
277 Specifies whether ~/.ssh/environment and environment= options in
278 ~/.ssh/authorized_keys are processed by sshd. The default is
279 M-bM-^@M-^\noM-bM-^@M-^]. Enabling environment processing may enable users to bypass
280 access restrictions in some configurations using mechanisms such
281 as LD_PRELOAD.
282
283 PidFile
284 Specifies the file that contains the process ID of the sshd dae-
285 mon. The default is /var/run/sshd.pid.
286
287 Port Specifies the port number that sshd listens on. The default is
288 22. Multiple options of this type are permitted. See also
289 ListenAddress.
290
291 PrintLastLog
292 Specifies whether sshd should print the date and time when the
293 user last logged in. The default is M-bM-^@M-^\yesM-bM-^@M-^].
294
295 PrintMotd
296 Specifies whether sshd should print /etc/motd when a user logs in
297 interactively. (On some systems it is also printed by the shell,
298 /etc/profile, or equivalent.) The default is M-bM-^@M-^\yesM-bM-^@M-^].
299
300 Protocol
301 Specifies the protocol versions sshd supports. The possible val-
302 ues are M-bM-^@M-^\1M-bM-^@M-^] and M-bM-^@M-^\2M-bM-^@M-^]. Multiple versions must be comma-separated.
303 The default is M-bM-^@M-^\2,1M-bM-^@M-^]. Note that the order of the protocol list
304 does not indicate preference, because the client selects among
305 multiple protocol versions offered by the server. Specifying
306 M-bM-^@M-^\2,1M-bM-^@M-^] is identical to M-bM-^@M-^\1,2M-bM-^@M-^].
307
308 PubkeyAuthentication
309 Specifies whether public key authentication is allowed. The
310 default is M-bM-^@M-^\yesM-bM-^@M-^]. Note that this option applies to protocol ver-
311 sion 2 only. RhostsRSAAuthentication should be used instead,
312 because it performs RSA-based host authentication in addition to
313 normal rhosts or /etc/hosts.equiv authentication. The default is
314 M-bM-^@M-^\noM-bM-^@M-^]. This option applies to protocol version 1 only.
315
316 RhostsRSAAuthentication
317 Specifies whether rhosts or /etc/hosts.equiv authentication
318 together with successful RSA host authentication is allowed. The
319 default is M-bM-^@M-^\noM-bM-^@M-^]. This option applies to protocol version 1 only.
320
321 RSAAuthentication
322 Specifies whether pure RSA authentication is allowed. The
323 default is M-bM-^@M-^\yesM-bM-^@M-^]. This option applies to protocol version 1
324 only.
325
326 ServerKeyBits
327 Defines the number of bits in the ephemeral protocol version 1
328 server key. The minimum value is 512, and the default is 768.
329
330 StrictModes
331 Specifies whether sshd should check file modes and ownership of
332 the userM-bM-^@M-^Ys files and home directory before accepting login. This
333 is normally desirable because novices sometimes accidentally
334 leave their directory or files world-writable. The default is
335 M-bM-^@M-^\yesM-bM-^@M-^].
336
337 Subsystem
338 Configures an external subsystem (e.g., file transfer daemon).
339 Arguments should be a subsystem name and a command to execute
340 upon subsystem request. The command sftp-server(8) implements
341 the M-bM-^@M-^\sftpM-bM-^@M-^] file transfer subsystem. By default no subsystems are
342 defined. Note that this option applies to protocol version 2
343 only.
344
345 SyslogFacility
346 Gives the facility code that is used when logging messages from
347 sshd. The possible values are: DAEMON, USER, AUTH, LOCAL0,
348 LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The
349 default is AUTH.
350
351 UseDNS Specifies whether sshd should lookup the remote host name and
352 check that the resolved host name for the remote IP address maps
353 back to the very same IP address. The default is M-bM-^@M-^\yesM-bM-^@M-^].
354
355 UseLogin
356 Specifies whether login(1) is used for interactive login ses-
357 sions. The default is M-bM-^@M-^\noM-bM-^@M-^]. Note that login(1) is never used
358 for remote command execution. Note also, that if this is
359 enabled, X11Forwarding will be disabled because login(1) does not
360 know how to handle xauth(1) cookies. If UsePrivilegeSeparation
361 is specified, it will be disabled after authentication.
362
363 UsePAM Enables PAM authentication (via challenge-response) and session
364 set up. If you enable this, you should probably disable
365 PasswordAuthentication. If you enable then you will not be able
366 to run sshd as a non-root user.
367
368 UsePrivilegeSeparation
369 Specifies whether sshd separates privileges by creating an
370 unprivileged child process to deal with incoming network traffic.
371 After successful authentication, another process will be created
372 that has the privilege of the authenticated user. The goal of
373 privilege separation is to prevent privilege escalation by con-
374 taining any corruption within the unprivileged processes. The
375 default is M-bM-^@M-^\yesM-bM-^@M-^].
376
377 X11DisplayOffset
378 Specifies the first display number available for sshdM-bM-^@M-^Ys X11 for-
379 warding. This prevents sshd from interfering with real X11
380 servers. The default is 10.
381
382 X11Forwarding
383 Specifies whether X11 forwarding is permitted. The argument must
384 be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\noM-bM-^@M-^].
385
386 When X11 forwarding is enabled, there may be additional exposure
387 to the server and to client displays if the sshd proxy display is
388 configured to listen on the wildcard address (see X11UseLocalhost
389 below), however this is not the default. Additionally, the
390 authentication spoofing and authentication data verification and
391 substitution occur on the client side. The security risk of
392 using X11 forwarding is that the clientM-bM-^@M-^Ys X11 display server may
393 be exposed to attack when the ssh client requests forwarding (see
394 the warnings for ForwardX11 in ssh_config(5)). A system adminis-
395 trator may have a stance in which they want to protect clients
396 that may expose themselves to attack by unwittingly requesting
397 X11 forwarding, which can warrant a M-bM-^@M-^\noM-bM-^@M-^] setting.
398
399 Note that disabling X11 forwarding does not prevent users from
400 forwarding X11 traffic, as users can always install their own
401 forwarders. X11 forwarding is automatically disabled if UseLogin
402 is enabled.
403
404 X11UseLocalhost
405 Specifies whether sshd should bind the X11 forwarding server to
406 the loopback address or to the wildcard address. By default,
407 sshd binds the forwarding server to the loopback address and sets
408 the hostname part of the DISPLAY environment variable to
409 M-bM-^@M-^\localhostM-bM-^@M-^]. This prevents remote hosts from connecting to the
410 proxy display. However, some older X11 clients may not function
411 with this configuration. X11UseLocalhost may be set to M-bM-^@M-^\noM-bM-^@M-^] to
412 specify that the forwarding server should be bound to the wild-
413 card address. The argument must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default
414 is M-bM-^@M-^\yesM-bM-^@M-^].
415
416 XAuthLocation
417 Specifies the full pathname of the xauth(1) program. The default
418 is /usr/X11R6/bin/xauth.
419
420 Time Formats
421 sshd command-line arguments and configuration file options that specify
422 time may be expressed using a sequence of the form: time[qualifier],
423 where time is a positive integer value and qualifier is one of the fol-
424 lowing:
425
426 <none> seconds
427 s | S seconds
428 m | M minutes
429 h | H hours
430 d | D days
431 w | W weeks
432
433 Each member of the sequence is added together to calculate the total time
434 value.
435
436 Time format examples:
437
438 600 600 seconds (10 minutes)
439 10m 10 minutes
440 1h30m 1 hour 30 minutes (90 minutes)
441
442FILES
443 /etc/ssh/sshd_config
444 Contains configuration data for sshd. This file should be
445 writable by root only, but it is recommended (though not neces-
446 sary) that it be world-readable.
447
448SEE ALSO
449 sshd(8)
450
451AUTHORS
452 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
453 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
454 de Raadt and Dug Song removed many bugs, re-added newer features and cre-
455 ated OpenSSH. Markus Friedl contributed the support for SSH protocol
456 versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support
457 for privilege separation.
458
459BSD September 25, 1999 BSD