]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sshd.0
Vendor import of OpenSSH 7.7p1.
[FreeBSD/FreeBSD.git] / sshd.0
1 SSHD(8)                     System Manager's Manual                    SSHD(8)
2
3 NAME
4      sshd M-bM-^@M-^S OpenSSH SSH daemon
5
6 SYNOPSIS
7      sshd [-46DdeiqTt] [-C connection_spec] [-c host_certificate_file]
8           [-E log_file] [-f config_file] [-g login_grace_time]
9           [-h host_key_file] [-o option] [-p port] [-u len]
10
11 DESCRIPTION
12      sshd (OpenSSH Daemon) is the daemon program for ssh(1).  Together these
13      programs replace rlogin and rsh, and provide secure encrypted
14      communications between two untrusted hosts over an insecure network.
15
16      sshd listens for connections from clients.  It is normally started at
17      boot from /etc/rc.  It forks a new daemon for each incoming connection.
18      The forked daemons handle key exchange, encryption, authentication,
19      command execution, and data exchange.
20
21      sshd can be configured using command-line options or a configuration file
22      (by default sshd_config(5)); command-line options override values
23      specified in the configuration file.  sshd rereads its configuration file
24      when it receives a hangup signal, SIGHUP, by executing itself with the
25      name and options it was started with, e.g. /usr/sbin/sshd.
26
27      The options are as follows:
28
29      -4      Forces sshd to use IPv4 addresses only.
30
31      -6      Forces sshd to use IPv6 addresses only.
32
33      -C connection_spec
34              Specify the connection parameters to use for the -T extended test
35              mode.  If provided, any Match directives in the configuration
36              file that would apply are applied before the configuration is
37              written to standard output.  The connection parameters are
38              supplied as keyword=value pairs and may be supplied in any order,
39              either with multiple -C options or as a comma-separated list.
40              The keywords are M-bM-^@M-^\addr,M-bM-^@M-^] M-bM-^@M-^\userM-bM-^@M-^], M-bM-^@M-^\hostM-bM-^@M-^], M-bM-^@M-^\laddrM-bM-^@M-^], M-bM-^@M-^\lportM-bM-^@M-^], and
41              M-bM-^@M-^\rdomainM-bM-^@M-^] and correspond to source address, user, resolved source
42              host name, local address, local port number and routing domain
43              respectively.
44
45      -c host_certificate_file
46              Specifies a path to a certificate file to identify sshd during
47              key exchange.  The certificate file must match a host key file
48              specified using the -h option or the HostKey configuration
49              directive.
50
51      -D      When this option is specified, sshd will not detach and does not
52              become a daemon.  This allows easy monitoring of sshd.
53
54      -d      Debug mode.  The server sends verbose debug output to standard
55              error, and does not put itself in the background.  The server
56              also will not fork and will only process one connection.  This
57              option is only intended for debugging for the server.  Multiple
58              -d options increase the debugging level.  Maximum is 3.
59
60      -E log_file
61              Append debug logs to log_file instead of the system log.
62
63      -e      Write debug logs to standard error instead of the system log.
64
65      -f config_file
66              Specifies the name of the configuration file.  The default is
67              /etc/ssh/sshd_config.  sshd refuses to start if there is no
68              configuration file.
69
70      -g login_grace_time
71              Gives the grace time for clients to authenticate themselves
72              (default 120 seconds).  If the client fails to authenticate the
73              user within this many seconds, the server disconnects and exits.
74              A value of zero indicates no limit.
75
76      -h host_key_file
77              Specifies a file from which a host key is read.  This option must
78              be given if sshd is not run as root (as the normal host key files
79              are normally not readable by anyone but root).  The default is
80              /etc/ssh/ssh_host_ecdsa_key, /etc/ssh/ssh_host_ed25519_key and
81              /etc/ssh/ssh_host_rsa_key.  It is possible to have multiple host
82              key files for the different host key algorithms.
83
84      -i      Specifies that sshd is being run from inetd(8).
85
86      -o option
87              Can be used to give options in the format used in the
88              configuration file.  This is useful for specifying options for
89              which there is no separate command-line flag.  For full details
90              of the options, and their values, see sshd_config(5).
91
92      -p port
93              Specifies the port on which the server listens for connections
94              (default 22).  Multiple port options are permitted.  Ports
95              specified in the configuration file with the Port option are
96              ignored when a command-line port is specified.  Ports specified
97              using the ListenAddress option override command-line ports.
98
99      -q      Quiet mode.  Nothing is sent to the system log.  Normally the
100              beginning, authentication, and termination of each connection is
101              logged.
102
103      -T      Extended test mode.  Check the validity of the configuration
104              file, output the effective configuration to stdout and then exit.
105              Optionally, Match rules may be applied by specifying the
106              connection parameters using one or more -C options.
107
108      -t      Test mode.  Only check the validity of the configuration file and
109              sanity of the keys.  This is useful for updating sshd reliably as
110              configuration options may change.
111
112      -u len  This option is used to specify the size of the field in the utmp
113              structure that holds the remote host name.  If the resolved host
114              name is longer than len, the dotted decimal value will be used
115              instead.  This allows hosts with very long host names that
116              overflow this field to still be uniquely identified.  Specifying
117              -u0 indicates that only dotted decimal addresses should be put
118              into the utmp file.  -u0 may also be used to prevent sshd from
119              making DNS requests unless the authentication mechanism or
120              configuration requires it.  Authentication mechanisms that may
121              require DNS include HostbasedAuthentication and using a
122              from="pattern-list" option in a key file.  Configuration options
123              that require DNS include using a USER@HOST pattern in AllowUsers
124              or DenyUsers.
125
126 AUTHENTICATION
127      The OpenSSH SSH daemon supports SSH protocol 2 only.  Each host has a
128      host-specific key, used to identify the host.  Whenever a client
129      connects, the daemon responds with its public host key.  The client
130      compares the host key against its own database to verify that it has not
131      changed.  Forward security is provided through a Diffie-Hellman key
132      agreement.  This key agreement results in a shared session key.  The rest
133      of the session is encrypted using a symmetric cipher, currently 128-bit
134      AES, Blowfish, 3DES, CAST128, Arcfour, 192-bit AES, or 256-bit AES.  The
135      client selects the encryption algorithm to use from those offered by the
136      server.  Additionally, session integrity is provided through a
137      cryptographic message authentication code (hmac-md5, hmac-sha1, umac-64,
138      umac-128, hmac-sha2-256 or hmac-sha2-512).
139
140      Finally, the server and the client enter an authentication dialog.  The
141      client tries to authenticate itself using host-based authentication,
142      public key authentication, challenge-response authentication, or password
143      authentication.
144
145      Regardless of the authentication type, the account is checked to ensure
146      that it is accessible.  An account is not accessible if it is locked,
147      listed in DenyUsers or its group is listed in DenyGroups .  The
148      definition of a locked account is system dependant. Some platforms have
149      their own account database (eg AIX) and some modify the passwd field (
150      M-bM-^@M-^X*LK*M-bM-^@M-^Y on Solaris and UnixWare, M-bM-^@M-^X*M-bM-^@M-^Y on HP-UX, containing M-bM-^@M-^XNologinM-bM-^@M-^Y on
151      Tru64, a leading M-bM-^@M-^X*LOCKED*M-bM-^@M-^Y on FreeBSD and a leading M-bM-^@M-^X!M-bM-^@M-^Y on most
152      Linuxes).  If there is a requirement to disable password authentication
153      for the account while allowing still public-key, then the passwd field
154      should be set to something other than these values (eg M-bM-^@M-^XNPM-bM-^@M-^Y or M-bM-^@M-^X*NP*M-bM-^@M-^Y ).
155
156      If the client successfully authenticates itself, a dialog for preparing
157      the session is entered.  At this time the client may request things like
158      allocating a pseudo-tty, forwarding X11 connections, forwarding TCP
159      connections, or forwarding the authentication agent connection over the
160      secure channel.
161
162      After this, the client either requests a shell or execution of a command.
163      The sides then enter session mode.  In this mode, either side may send
164      data at any time, and such data is forwarded to/from the shell or command
165      on the server side, and the user terminal in the client side.
166
167      When the user program terminates and all forwarded X11 and other
168      connections have been closed, the server sends command exit status to the
169      client, and both sides exit.
170
171 LOGIN PROCESS
172      When a user successfully logs in, sshd does the following:
173
174            1.   If the login is on a tty, and no command has been specified,
175                 prints last login time and /etc/motd (unless prevented in the
176                 configuration file or by ~/.hushlogin; see the FILES section).
177
178            2.   If the login is on a tty, records login time.
179
180            3.   Checks /etc/nologin; if it exists, prints contents and quits
181                 (unless root).
182
183            4.   Changes to run with normal user privileges.
184
185            5.   Sets up basic environment.
186
187            6.   Reads the file ~/.ssh/environment, if it exists, and users are
188                 allowed to change their environment.  See the
189                 PermitUserEnvironment option in sshd_config(5).
190
191            7.   Changes to user's home directory.
192
193            8.   If ~/.ssh/rc exists and the sshd_config(5) PermitUserRC option
194                 is set, runs it; else if /etc/ssh/sshrc exists, runs it;
195                 otherwise runs xauth.  The M-bM-^@M-^\rcM-bM-^@M-^] files are given the X11
196                 authentication protocol and cookie in standard input.  See
197                 SSHRC, below.
198
199            9.   Runs user's shell or command.  All commands are run under the
200                 user's login shell as specified in the system password
201                 database.
202
203 SSHRC
204      If the file ~/.ssh/rc exists, sh(1) runs it after reading the environment
205      files but before starting the user's shell or command.  It must not
206      produce any output on stdout; stderr must be used instead.  If X11
207      forwarding is in use, it will receive the "proto cookie" pair in its
208      standard input (and DISPLAY in its environment).  The script must call
209      xauth(1) because sshd will not run xauth automatically to add X11
210      cookies.
211
212      The primary purpose of this file is to run any initialization routines
213      which may be needed before the user's home directory becomes accessible;
214      AFS is a particular example of such an environment.
215
216      This file will probably contain some initialization code followed by
217      something similar to:
218
219         if read proto cookie && [ -n "$DISPLAY" ]; then
220                 if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
221                         # X11UseLocalhost=yes
222                         echo add unix:`echo $DISPLAY |
223                             cut -c11-` $proto $cookie
224                 else
225                         # X11UseLocalhost=no
226                         echo add $DISPLAY $proto $cookie
227                 fi | xauth -q -
228         fi
229
230      If this file does not exist, /etc/ssh/sshrc is run, and if that does not
231      exist either, xauth is used to add the cookie.
232
233 AUTHORIZED_KEYS FILE FORMAT
234      AuthorizedKeysFile specifies the files containing public keys for public
235      key authentication; if this option is not specified, the default is
236      ~/.ssh/authorized_keys and ~/.ssh/authorized_keys2.  Each line of the
237      file contains one key (empty lines and lines starting with a M-bM-^@M-^X#M-bM-^@M-^Y are
238      ignored as comments).  Public keys consist of the following space-
239      separated fields: options, keytype, base64-encoded key, comment.  The
240      options field is optional.  The keytype is M-bM-^@M-^\ecdsa-sha2-nistp256M-bM-^@M-^],
241      M-bM-^@M-^\ecdsa-sha2-nistp384M-bM-^@M-^], M-bM-^@M-^\ecdsa-sha2-nistp521M-bM-^@M-^], M-bM-^@M-^\ssh-ed25519M-bM-^@M-^], M-bM-^@M-^\ssh-dssM-bM-^@M-^] or
242      M-bM-^@M-^\ssh-rsaM-bM-^@M-^]; the comment field is not used for anything (but may be
243      convenient for the user to identify the key).
244
245      Note that lines in this file can be several hundred bytes long (because
246      of the size of the public key encoding) up to a limit of 8 kilobytes,
247      which permits DSA keys up to 8 kilobits and RSA keys up to 16 kilobits.
248      You don't want to type them in; instead, copy the id_dsa.pub,
249      id_ecdsa.pub, id_ed25519.pub, or the id_rsa.pub file and edit it.
250
251      sshd enforces a minimum RSA key modulus size of 1024 bits.
252
253      The options (if present) consist of comma-separated option
254      specifications.  No spaces are permitted, except within double quotes.
255      The following option specifications are supported (note that option
256      keywords are case-insensitive):
257
258      agent-forwarding
259              Enable authentication agent forwarding previously disabled by the
260              restrict option.
261
262      cert-authority
263              Specifies that the listed key is a certification authority (CA)
264              that is trusted to validate signed certificates for user
265              authentication.
266
267              Certificates may encode access restrictions similar to these key
268              options.  If both certificate restrictions and key options are
269              present, the most restrictive union of the two is applied.
270
271      command="command"
272              Specifies that the command is executed whenever this key is used
273              for authentication.  The command supplied by the user (if any) is
274              ignored.  The command is run on a pty if the client requests a
275              pty; otherwise it is run without a tty.  If an 8-bit clean
276              channel is required, one must not request a pty or should specify
277              no-pty.  A quote may be included in the command by quoting it
278              with a backslash.
279
280              This option might be useful to restrict certain public keys to
281              perform just a specific operation.  An example might be a key
282              that permits remote backups but nothing else.  Note that the
283              client may specify TCP and/or X11 forwarding unless they are
284              explicitly prohibited, e.g. using the restrict key option.
285
286              The command originally supplied by the client is available in the
287              SSH_ORIGINAL_COMMAND environment variable.  Note that this option
288              applies to shell, command or subsystem execution.  Also note that
289              this command may be superseded by a sshd_config(5) ForceCommand
290              directive.
291
292              If a command is specified and a forced-command is embedded in a
293              certificate used for authentication, then the certificate will be
294              accepted only if the two commands are identical.
295
296      environment="NAME=value"
297              Specifies that the string is to be added to the environment when
298              logging in using this key.  Environment variables set this way
299              override other default environment values.  Multiple options of
300              this type are permitted.  Environment processing is disabled by
301              default and is controlled via the PermitUserEnvironment option.
302
303      expiry-time="timespec"
304              Specifies a time after which the key will not be accepted.  The
305              time may be specified as a YYYYMMDD date or a YYYYMMDDHHMM[SS]
306              time in the system time-zone.
307
308      from="pattern-list"
309              Specifies that in addition to public key authentication, either
310              the canonical name of the remote host or its IP address must be
311              present in the comma-separated list of patterns.  See PATTERNS in
312              ssh_config(5) for more information on patterns.
313
314              In addition to the wildcard matching that may be applied to
315              hostnames or addresses, a from stanza may match IP addresses
316              using CIDR address/masklen notation.
317
318              The purpose of this option is to optionally increase security:
319              public key authentication by itself does not trust the network or
320              name servers or anything (but the key); however, if somebody
321              somehow steals the key, the key permits an intruder to log in
322              from anywhere in the world.  This additional option makes using a
323              stolen key more difficult (name servers and/or routers would have
324              to be compromised in addition to just the key).
325
326      no-agent-forwarding
327              Forbids authentication agent forwarding when this key is used for
328              authentication.
329
330      no-port-forwarding
331              Forbids TCP forwarding when this key is used for authentication.
332              Any port forward requests by the client will return an error.
333              This might be used, e.g. in connection with the command option.
334
335      no-pty  Prevents tty allocation (a request to allocate a pty will fail).
336
337      no-user-rc
338              Disables execution of ~/.ssh/rc.
339
340      no-X11-forwarding
341              Forbids X11 forwarding when this key is used for authentication.
342              Any X11 forward requests by the client will return an error.
343
344      permitopen="host:port"
345              Limit local port forwarding with ssh(1) -L such that it may only
346              connect to the specified host and port.  IPv6 addresses can be
347              specified by enclosing the address in square brackets.  Multiple
348              permitopen options may be applied separated by commas.  No
349              pattern matching is performed on the specified hostnames, they
350              must be literal domains or addresses.  A port specification of *
351              matches any port.
352
353      port-forwarding
354              Enable port forwarding previously disabled by the restrict
355              option.
356
357      principals="principals"
358              On a cert-authority line, specifies allowed principals for
359              certificate authentication as a comma-separated list.  At least
360              one name from the list must appear in the certificate's list of
361              principals for the certificate to be accepted.  This option is
362              ignored for keys that are not marked as trusted certificate
363              signers using the cert-authority option.
364
365      pty     Permits tty allocation previously disabled by the restrict
366              option.
367
368      restrict
369              Enable all restrictions, i.e. disable port, agent and X11
370              forwarding, as well as disabling PTY allocation and execution of
371              ~/.ssh/rc.  If any future restriction capabilities are added to
372              authorized_keys files they will be included in this set.
373
374      tunnel="n"
375              Force a tun(4) device on the server.  Without this option, the
376              next available device will be used if the client requests a
377              tunnel.
378
379      user-rc
380              Enables execution of ~/.ssh/rc previously disabled by the
381              restrict option.
382
383      X11-forwarding
384              Permits X11 forwarding previously disabled by the restrict
385              option.
386
387      An example authorized_keys file:
388
389         # Comments allowed at start of line
390         ssh-rsa AAAAB3Nza...LiPk== user@example.net
391         from="*.sales.example.net,!pc.sales.example.net" ssh-rsa
392         AAAAB2...19Q== john@example.net
393         command="dump /home",no-pty,no-port-forwarding ssh-dss
394         AAAAC3...51R== example.net
395         permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-dss
396         AAAAB5...21S==
397         tunnel="0",command="sh /etc/netstart tun0" ssh-rsa AAAA...==
398         jane@example.net
399         restrict,command="uptime" ssh-rsa AAAA1C8...32Tv==
400         user@example.net
401         restrict,pty,command="nethack" ssh-rsa AAAA1f8...IrrC5==
402         user@example.net
403
404 SSH_KNOWN_HOSTS FILE FORMAT
405      The /etc/ssh/ssh_known_hosts and ~/.ssh/known_hosts files contain host
406      public keys for all known hosts.  The global file should be prepared by
407      the administrator (optional), and the per-user file is maintained
408      automatically: whenever the user connects to an unknown host, its key is
409      added to the per-user file.
410
411      Each line in these files contains the following fields: markers
412      (optional), hostnames, keytype, base64-encoded key, comment.  The fields
413      are separated by spaces.
414
415      The marker is optional, but if it is present then it must be one of
416      M-bM-^@M-^\@cert-authorityM-bM-^@M-^], to indicate that the line contains a certification
417      authority (CA) key, or M-bM-^@M-^\@revokedM-bM-^@M-^], to indicate that the key contained on
418      the line is revoked and must not ever be accepted.  Only one marker
419      should be used on a key line.
420
421      Hostnames is a comma-separated list of patterns (M-bM-^@M-^X*M-bM-^@M-^Y and M-bM-^@M-^X?M-bM-^@M-^Y act as
422      wildcards); each pattern in turn is matched against the host name.  When
423      sshd is authenticating a client, such as when using
424      HostbasedAuthentication, this will be the canonical client host name.
425      When ssh(1) is authenticating a server, this will be the host name given
426      by the user, the value of the ssh(1) HostkeyAlias if it was specified, or
427      the canonical server hostname if the ssh(1) CanonicalizeHostname option
428      was used.
429
430      A pattern may also be preceded by M-bM-^@M-^X!M-bM-^@M-^Y to indicate negation: if the host
431      name matches a negated pattern, it is not accepted (by that line) even if
432      it matched another pattern on the line.  A hostname or address may
433      optionally be enclosed within M-bM-^@M-^X[M-bM-^@M-^Y and M-bM-^@M-^X]M-bM-^@M-^Y brackets then followed by M-bM-^@M-^X:M-bM-^@M-^Y
434      and a non-standard port number.
435
436      Alternately, hostnames may be stored in a hashed form which hides host
437      names and addresses should the file's contents be disclosed.  Hashed
438      hostnames start with a M-bM-^@M-^X|M-bM-^@M-^Y character.  Only one hashed hostname may
439      appear on a single line and none of the above negation or wildcard
440      operators may be applied.
441
442      The keytype and base64-encoded key are taken directly from the host key;
443      they can be obtained, for example, from /etc/ssh/ssh_host_rsa_key.pub.
444      The optional comment field continues to the end of the line, and is not
445      used.
446
447      Lines starting with M-bM-^@M-^X#M-bM-^@M-^Y and empty lines are ignored as comments.
448
449      When performing host authentication, authentication is accepted if any
450      matching line has the proper key; either one that matches exactly or, if
451      the server has presented a certificate for authentication, the key of the
452      certification authority that signed the certificate.  For a key to be
453      trusted as a certification authority, it must use the M-bM-^@M-^\@cert-authorityM-bM-^@M-^]
454      marker described above.
455
456      The known hosts file also provides a facility to mark keys as revoked,
457      for example when it is known that the associated private key has been
458      stolen.  Revoked keys are specified by including the M-bM-^@M-^\@revokedM-bM-^@M-^] marker at
459      the beginning of the key line, and are never accepted for authentication
460      or as certification authorities, but instead will produce a warning from
461      ssh(1) when they are encountered.
462
463      It is permissible (but not recommended) to have several lines or
464      different host keys for the same names.  This will inevitably happen when
465      short forms of host names from different domains are put in the file.  It
466      is possible that the files contain conflicting information;
467      authentication is accepted if valid information can be found from either
468      file.
469
470      Note that the lines in these files are typically hundreds of characters
471      long, and you definitely don't want to type in the host keys by hand.
472      Rather, generate them by a script, ssh-keyscan(1) or by taking, for
473      example, /etc/ssh/ssh_host_rsa_key.pub and adding the host names at the
474      front.  ssh-keygen(1) also offers some basic automated editing for
475      ~/.ssh/known_hosts including removing hosts matching a host name and
476      converting all host names to their hashed representations.
477
478      An example ssh_known_hosts file:
479
480         # Comments allowed at start of line
481         closenet,...,192.0.2.53 1024 37 159...93 closenet.example.net
482         cvs.example.net,192.0.2.10 ssh-rsa AAAA1234.....=
483         # A hashed hostname
484         |1|JfKTdBh7rNbXkVAQCRp4OQoPfmI=|USECr3SWf1JUPsms5AqfD5QfxkM= ssh-rsa
485         AAAA1234.....=
486         # A revoked key
487         @revoked * ssh-rsa AAAAB5W...
488         # A CA key, accepted for any host in *.mydomain.com or *.mydomain.org
489         @cert-authority *.mydomain.org,*.mydomain.com ssh-rsa AAAAB5W...
490
491 FILES
492      ~/.hushlogin
493              This file is used to suppress printing the last login time and
494              /etc/motd, if PrintLastLog and PrintMotd, respectively, are
495              enabled.  It does not suppress printing of the banner specified
496              by Banner.
497
498      ~/.rhosts
499              This file is used for host-based authentication (see ssh(1) for
500              more information).  On some machines this file may need to be
501              world-readable if the user's home directory is on an NFS
502              partition, because sshd reads it as root.  Additionally, this
503              file must be owned by the user, and must not have write
504              permissions for anyone else.  The recommended permission for most
505              machines is read/write for the user, and not accessible by
506              others.
507
508      ~/.shosts
509              This file is used in exactly the same way as .rhosts, but allows
510              host-based authentication without permitting login with
511              rlogin/rsh.
512
513      ~/.ssh/
514              This directory is the default location for all user-specific
515              configuration and authentication information.  There is no
516              general requirement to keep the entire contents of this directory
517              secret, but the recommended permissions are read/write/execute
518              for the user, and not accessible by others.
519
520      ~/.ssh/authorized_keys
521              Lists the public keys (DSA, ECDSA, Ed25519, RSA) that can be used
522              for logging in as this user.  The format of this file is
523              described above.  The content of the file is not highly
524              sensitive, but the recommended permissions are read/write for the
525              user, and not accessible by others.
526
527              If this file, the ~/.ssh directory, or the user's home directory
528              are writable by other users, then the file could be modified or
529              replaced by unauthorized users.  In this case, sshd will not
530              allow it to be used unless the StrictModes option has been set to
531              M-bM-^@M-^\noM-bM-^@M-^].
532
533      ~/.ssh/environment
534              This file is read into the environment at login (if it exists).
535              It can only contain empty lines, comment lines (that start with
536              M-bM-^@M-^X#M-bM-^@M-^Y), and assignment lines of the form name=value.  The file
537              should be writable only by the user; it need not be readable by
538              anyone else.  Environment processing is disabled by default and
539              is controlled via the PermitUserEnvironment option.
540
541      ~/.ssh/known_hosts
542              Contains a list of host keys for all hosts the user has logged
543              into that are not already in the systemwide list of known host
544              keys.  The format of this file is described above.  This file
545              should be writable only by root/the owner and can, but need not
546              be, world-readable.
547
548      ~/.ssh/rc
549              Contains initialization routines to be run before the user's home
550              directory becomes accessible.  This file should be writable only
551              by the user, and need not be readable by anyone else.
552
553      /etc/hosts.equiv
554              This file is for host-based authentication (see ssh(1)).  It
555              should only be writable by root.
556
557      /etc/moduli
558              Contains Diffie-Hellman groups used for the "Diffie-Hellman Group
559              Exchange" key exchange method.  The file format is described in
560              moduli(5).  If no usable groups are found in this file then fixed
561              internal groups will be used.
562
563      /etc/motd
564              See motd(5).
565
566      /etc/nologin
567              If this file exists, sshd refuses to let anyone except root log
568              in.  The contents of the file are displayed to anyone trying to
569              log in, and non-root connections are refused.  The file should be
570              world-readable.
571
572      /etc/shosts.equiv
573              This file is used in exactly the same way as hosts.equiv, but
574              allows host-based authentication without permitting login with
575              rlogin/rsh.
576
577      /etc/ssh/ssh_host_ecdsa_key
578      /etc/ssh/ssh_host_ed25519_key
579      /etc/ssh/ssh_host_rsa_key
580              These files contain the private parts of the host keys.  These
581              files should only be owned by root, readable only by root, and
582              not accessible to others.  Note that sshd does not start if these
583              files are group/world-accessible.
584
585      /etc/ssh/ssh_host_ecdsa_key.pub
586      /etc/ssh/ssh_host_ed25519_key.pub
587      /etc/ssh/ssh_host_rsa_key.pub
588              These files contain the public parts of the host keys.  These
589              files should be world-readable but writable only by root.  Their
590              contents should match the respective private parts.  These files
591              are not really used for anything; they are provided for the
592              convenience of the user so their contents can be copied to known
593              hosts files.  These files are created using ssh-keygen(1).
594
595      /etc/ssh/ssh_known_hosts
596              Systemwide list of known host keys.  This file should be prepared
597              by the system administrator to contain the public host keys of
598              all machines in the organization.  The format of this file is
599              described above.  This file should be writable only by root/the
600              owner and should be world-readable.
601
602      /etc/ssh/sshd_config
603              Contains configuration data for sshd.  The file format and
604              configuration options are described in sshd_config(5).
605
606      /etc/ssh/sshrc
607              Similar to ~/.ssh/rc, it can be used to specify machine-specific
608              login-time initializations globally.  This file should be
609              writable only by root, and should be world-readable.
610
611      /var/empty
612              chroot(2) directory used by sshd during privilege separation in
613              the pre-authentication phase.  The directory should not contain
614              any files and must be owned by root and not group or world-
615              writable.
616
617      /var/run/sshd.pid
618              Contains the process ID of the sshd listening for connections (if
619              there are several daemons running concurrently for different
620              ports, this contains the process ID of the one started last).
621              The content of this file is not sensitive; it can be world-
622              readable.
623
624 SEE ALSO
625      scp(1), sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1),
626      ssh-keyscan(1), chroot(2), login.conf(5), moduli(5), sshd_config(5),
627      inetd(8), sftp-server(8)
628
629 AUTHORS
630      OpenSSH is a derivative of the original and free ssh 1.2.12 release by
631      Tatu Ylonen.  Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
632      de Raadt and Dug Song removed many bugs, re-added newer features and
633      created OpenSSH.  Markus Friedl contributed the support for SSH protocol
634      versions 1.5 and 2.0.  Niels Provos and Markus Friedl contributed support
635      for privilege separation.
636
637 OpenBSD 6.2                     March 14, 2018                     OpenBSD 6.2