*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> sshd_config (5)              
Title
Content
Arch
Section
 

SSHD_CONFIG(5)

Contents


NAME    [Toc]    [Back]

     sshd_config - OpenSSH SSH daemon configuration file

SYNOPSIS    [Toc]    [Back]

     /etc/ssh/sshd_config

DESCRIPTION    [Toc]    [Back]

     sshd reads configuration data from /etc/ssh/sshd_config  (or
the file
     specified  with  -f on the command line).  The file contains
keyword-argument
 pairs, one per line.  Lines starting with `#' and empty
lines are
     interpreted as comments.

     The  possible  keywords  and  their  meanings are as follows
(note that keywords
 are case-insensitive  and  arguments  are  case-sensitive):

     AcceptEnv    [Toc]    [Back]
             Specifies  what  environment  variables  sent by the
client will be
             copied into the session's environ(7).   See  SendEnv
in
             ssh_config(5) for how to configure the client.  Note
that environment
 passing is only supported  for  protocol  2.
Variables are
             specified  by  name,  which may contain the wildcard
characters `*'
             and `?'.  Multiple environment variables may be separated by
             whitespace  or  spread across multiple AcceptEnv directives.  Be
             warned that some environment variables could be used
to bypass
             restricted user environments.  For this reason, care
should be
             taken in the use of this directive.  The default  is
not to accept
             any environment variables.

     AllowGroups    [Toc]    [Back]
             This keyword can be followed by a list of group name
patterns,
             separated by spaces.  If specified, login is allowed
only for
             users  whose  primary  group  or supplementary group
list matches one
             of the patterns.  `*' and `?' can be used  as  wildcards in the
             patterns.   Only  group names are valid; a numerical
group ID is
             not recognized.  By default, login  is  allowed  for
all groups.

     AllowTcpForwarding    [Toc]    [Back]
             Specifies  whether TCP forwarding is permitted.  The
default is
             ``yes''.  Note that disabling  TCP  forwarding  does
not improve security
 unless users are also denied shell access, as
they can always
 install their own forwarders.

     AllowUsers    [Toc]    [Back]
             This keyword can be followed by a list of user  name
patterns,
             separated by spaces.  If specified, login is allowed
only for user
 names that match one of the  patterns.   `*'  and
`?' can be used
             as  wildcards  in the patterns.  Only user names are
valid; a numerical
 user ID is not recognized.  By default,  login is allowed
             for  all  users.   If the pattern takes the form USER@HOST then USER
             and HOST are separately checked, restricting  logins
to particular
             users from particular hosts.

     AuthorizedKeysFile    [Toc]    [Back]
             Specifies  the  file  that  contains the public keys
that can be used
             for  user  authentication.   AuthorizedKeysFile  may
contain tokens
             of  the form %T which are substituted during connection set-up.
             The following tokens are defined: %% is replaced  by
a literal
             '%', %h is replaced by the home directory of the user being authenticated
 and %u is replaced by  the  username  of
that user.  After
  expansion, AuthorizedKeysFile is taken to be an
absolute path
             or one relative to the user's home  directory.   The
default is
             ``.ssh/authorized_keys''.

     Banner  In some jurisdictions, sending a warning message before authentication
 may be relevant for getting legal protection.
The contents
  of  the specified file are sent to the remote
user before
             authentication is  allowed.   This  option  is  only
available for
             protocol  version  2.  By default, no banner is displayed.

     ChallengeResponseAuthentication    [Toc]    [Back]
             Specifies whether challenge response  authentication
is allowed.
             All  authentication  styles  from  login.conf(5) are
supported.  The
             default is ``yes''.

     Ciphers    [Toc]    [Back]
             Specifies the ciphers allowed for  protocol  version
2.  Multiple
             ciphers  must be comma-separated.  The supported ciphers are
             ``3des-cbc'',    ``aes128-cbc'',     ``aes192-cbc'',
``aes256-cbc'',
             ``aes128-ctr'',    ``aes192-ctr'',   ``aes256-ctr'',
``arcfour'',
             ``blowfish-cbc'', and ``cast128-cbc''.  The  default
is

               ``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,
                 aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr''

     ClientAliveInterval    [Toc]    [Back]
             Sets a timeout interval in seconds after which if no
data has
             been received from the client, sshd will send a message through
             the encrypted channel to request a response from the
client.  The
             default is 0, indicating that  these  messages  will
not be sent to
             the client.  This option applies to protocol version
2 only.

     ClientAliveCountMax    [Toc]    [Back]
             Sets the number of client alive messages (see above)
which may be
             sent  without  sshd receiving any messages back from
the client.
             If this threshold is reached while client alive messages are being
 sent, sshd will disconnect the client, terminating the session.
  It is important  to  note  that  the  use  of
client alive messages
  is  very different from TCPKeepAlive (below).
The client
             alive messages are sent through the encrypted  channel and therefore
  will  not be spoofable.  The TCP keepalive option enabled by
             TCPKeepAlive is spoofable.  The client alive  mechanism is valuable
  when  the  client  or server depend on knowing
when a connection
 has become inactive.

             The default  value  is  3.   If  ClientAliveInterval
(above) is set to
             15,  and ClientAliveCountMax is left at the default,
unresponsive
             ssh clients will be disconnected after approximately
45 seconds.

     Compression    [Toc]    [Back]
             Specifies whether compression is allowed.  The argument must be
             ``yes'' or ``no''.  The default is ``yes''.

     DenyGroups    [Toc]    [Back]
             This keyword can be followed by a list of group name
patterns,
             separated  by spaces.  Login is disallowed for users
whose primary
             group or supplementary group list matches one of the
patterns.
             `*'  and  `?'  can  be used as wildcards in the patterns.  Only group
             names are valid; a numerical group ID is not  recognized.  By default,
 login is allowed for all groups.

     DenyUsers    [Toc]    [Back]
             This  keyword can be followed by a list of user name
patterns,
             separated by spaces.  Login is disallowed  for  user
names that
             match  one of the patterns.  `*' and `?' can be used
as wildcards
             in the patterns.  Only user names are valid;  a  numerical user ID
             is not recognized.  By default, login is allowed for
all users.
             If the pattern takes the form  USER@HOST  then  USER
and HOST are
             separately checked, restricting logins to particular
users from
             particular hosts.

     GatewayPorts    [Toc]    [Back]
             Specifies whether remote hosts are allowed  to  connect to ports
             forwarded  for  the  client.  By default, sshd binds
remote port
             forwardings to the loopback address.  This  prevents
other remote
             hosts    from   connecting   to   forwarded   ports.
GatewayPorts can be
             used to specify that sshd should  bind  remote  port
forwardings to
             the  wildcard address, thus allowing remote hosts to
connect to
             forwarded ports.  The argument must  be  ``yes''  or
``no''.  The
             default is ``no''.

     GSSAPIAuthentication    [Toc]    [Back]
             Specifies  whether user authentication based on GSSAPI is allowed.
             The default is ``no''.  Note that  this  option  applies to protocol
             version 2 only.

     GSSAPICleanupCredentials    [Toc]    [Back]
             Specifies  whether  to automatically destroy the user's credentials
             cache on logout.  The default is ``yes''.  Note that
this option
             applies to protocol version 2 only.

     HostbasedAuthentication    [Toc]    [Back]
             Specifies whether rhosts or /etc/hosts.equiv authentication together
 with successful public key  client  host  authentication is
             allowed  (hostbased authentication).  This option is
similar to
             RhostsRSAAuthentication and applies to protocol version 2 only.
             The default is ``no''.

     HostKey    [Toc]    [Back]
             Specifies  a file containing a private host key used
by SSH.  The
             default is /etc/ssh/ssh_host_key for  protocol  version 1, and
             /etc/ssh/ssh_host_rsa_key                        and
/etc/ssh/ssh_host_dsa_key for protocol
 version 2.  Note that sshd will refuse to  use
a file if it
             is  group/world-accessible.   It is possible to have
multiple host
             key files.  ``rsa1'' keys are used for version 1 and
``dsa'' or
             ``rsa''  are used for version 2 of the SSH protocol.

     IgnoreRhosts    [Toc]    [Back]
             Specifies that .rhosts and .shosts files will not be
used in
             RhostsRSAAuthentication  or HostbasedAuthentication.

             /etc/hosts.equiv  and  /etc/shosts.equiv  are  still
used.  The default
 is ``yes''.

     IgnoreUserKnownHosts    [Toc]    [Back]
             Specifies whether sshd should ignore the user's
             $HOME/.ssh/known_hosts                        during
RhostsRSAAuthentication or
             HostbasedAuthentication.  The default is ``no''.

     KerberosAuthentication    [Toc]    [Back]
             Specifies whether the password provided by the  user
for
             PasswordAuthentication will be validated through the
Kerberos
             KDC.  To use this option, the server  needs  a  Kerberos servtab
             which allows the verification of the KDC's identity.
Default is
             ``no''.

     KerberosGetAFSToken    [Toc]    [Back]
             If AFS is active and the user has a Kerberos 5  TGT,
attempt to
             aquire an AFS token before accessing the user's home
directory.
             Default is ``no''.

     KerberosOrLocalPasswd    [Toc]    [Back]
             If set then if password authentication through  Kerberos fails
             then  the  password  will be validated via any additional local
             mechanism such as /etc/passwd.  Default is  ``yes''.

     KerberosTicketCleanup    [Toc]    [Back]
             Specifies  whether  to automatically destroy the user's ticket
             cache file on logout.  Default is ``yes''.

     KeyRegenerationInterval    [Toc]    [Back]
             In protocol version 1, the ephemeral server  key  is
automatically
             regenerated  after this many seconds (if it has been
used).  The
             purpose of regeneration  is  to  prevent  decrypting
captured sessions
  by later breaking into the machine and stealing the keys.
             The key is never stored anywhere.  If the  value  is
0, the key is
             never regenerated.  The default is 3600 (seconds).

     ListenAddress    [Toc]    [Back]
             Specifies the local addresses sshd should listen on.
The following
 forms may be used:

                   ListenAddress host|IPv4_addr|IPv6_addr
                   ListenAddress host|IPv4_addr:port
                   ListenAddress [host|IPv6_addr]:port

             If port is not specified, sshd will  listen  on  the
address and all
             prior  Port  options  specified.   The default is to
listen on all
             local addresses.  Multiple ListenAddress options are
permitted.
             Additionally, any Port options must precede this option for non
             port qualified addresses.

     LoginGraceTime    [Toc]    [Back]
             The server disconnects after this time if  the  user
has not successfully
 logged in.  If the value is 0, there is no
time limit.
             The default is 120 seconds.

     LogLevel    [Toc]    [Back]
             Gives the verbosity level that is used when  logging
messages from
             sshd.  The possible values are: QUIET, FATAL, ERROR,
INFO, VERBOSE,
 DEBUG, DEBUG1, DEBUG2 and DEBUG3.  The default
is INFO.
             DEBUG  and DEBUG1 are equivalent.  DEBUG2 and DEBUG3
each specify
             higher levels of debugging output.  Logging  with  a
DEBUG level
             violates  the privacy of users and is not recommended.

     MACs    Specifies the available MAC (message  authentication
code) algorithms.
   The MAC algorithm is used in protocol version 2 for data
             integrity protection.  Multiple algorithms  must  be
comma-separated.
    The   default  is  ``hmac-md5,hmac-sha1,hmacripemd160,hmacsha1-96,hmac-md5-96''.


     MaxAuthTries    [Toc]    [Back]
             Specifies the maximum number of  authentication  attempts permitted
             per connection.  Once the number of failures reaches
half this
             value, additional failures are logged.  The  default
is 6.

     MaxStartups    [Toc]    [Back]
             Specifies the maximum number of concurrent unauthenticated connections
 to the sshd daemon.  Additional connections
will be
             dropped   until   authentication   succeeds  or  the
LoginGraceTime expires
 for a connection.  The default is 10.

             Alternatively, random early drop can be  enabled  by
specifying the
             three  colon  separated  values  ``start:rate:full''
(e.g.,
             "10:30:60").  sshd will refuse  connection  attempts
with a probability
  of ``rate/100'' (30%) if there are currently
``start''
             (10) unauthenticated connections.   The  probability
increases linearly
 and all connection attempts are refused if the
number of
             unauthenticated connections reaches ``full'' (60).

     PasswordAuthentication    [Toc]    [Back]
             Specifies whether  password  authentication  is  allowed.  The default
 is ``yes''.

     PermitEmptyPasswords    [Toc]    [Back]
             When  password  authentication is allowed, it specifies whether the
             server allows login to accounts with empty  password
strings.  The
             default is ``no''.

     PermitRootLogin    [Toc]    [Back]
             Specifies  whether root can login using ssh(1).  The
argument must
             be ``yes'', ``without-password'', ``forced-commandsonly'' or
             ``no''.  The default is ``yes''.

             If  this option is set to ``without-password'' password authentication
 is disabled for root.

             If this option is  set  to  ``forced-commands-only''
root login with
             public  key authentication will be allowed, but only
if the
             command option has been specified (which may be useful for taking
             remote  backups  even  if root login is normally not
allowed).  All
             other authentication methods are disabled for  root.

             If  this option is set to ``no'' root is not allowed
to login.

     PermitUserEnvironment    [Toc]    [Back]
             Specifies     whether     ~/.ssh/environment     and
environment= options in
             ~/.ssh/authorized_keys  are  processed by sshd.  The
default is
             ``no''.  Enabling environment processing may  enable
users to bypass
  access restrictions in some configurations using mechanisms
             such as LD_PRELOAD.

     PidFile    [Toc]    [Back]
             Specifies the file that contains the process  ID  of
the sshd daemon.
  The default is /var/run/sshd.pid.

     Port    Specifies the port number that sshd listens on.  The
default is
             22.  Multiple options of this  type  are  permitted.
See also
             ListenAddress.

     PrintLastLog    [Toc]    [Back]
             Specifies  whether  sshd  should  print the date and
time when the
             user last logged in.  The default is ``yes''.

     PrintMotd    [Toc]    [Back]
             Specifies whether sshd should print /etc/motd when a
user logs in
             interactively.   (On some systems it is also printed
by the shell,
             /etc/profile,  or  equivalent.)   The   default   is
``yes''.

     Protocol    [Toc]    [Back]
             Specifies  the protocol versions sshd supports.  The
possible values
 are ``1'' and ``2''.  Multiple versions must  be
comma-separated.
  The default is ``2,1''.  Note that the order
of the protocol
 list does not indicate preference, because the
client selects
  among  multiple  protocol versions offered by
the server.
             Specifying ``2,1'' is identical to ``1,2''.

     PubkeyAuthentication    [Toc]    [Back]
             Specifies whether public key authentication  is  allowed.  The default
  is ``yes''.  Note that this option applies to
protocol version
 2 only.

     RhostsRSAAuthentication    [Toc]    [Back]
             Specifies whether rhosts or /etc/hosts.equiv authentication together
  with  successful  RSA host authentication is
allowed.  The
             default is ``no''.  This option applies to  protocol
version 1 only.


     RSAAuthentication    [Toc]    [Back]
             Specifies  whether  pure  RSA  authentication is allowed.  The default
 is ``yes''.  This option applies  to  protocol
version 1 only.


     ServerKeyBits    [Toc]    [Back]
             Defines the number of bits in the ephemeral protocol
version 1
             server key.  The minimum value is 512, and  the  default is 768.

     StrictModes    [Toc]    [Back]
             Specifies  whether  sshd should check file modes and
ownership of
             the user's files and home directory before accepting
login.  This
             is  normally desirable because novices sometimes accidentally
             leave their directory or files world-writable.   The
default is
             ``yes''.

     Subsystem    [Toc]    [Back]
             Configures  an external subsystem (e.g., file transfer daemon).
             Arguments should be a subsystem name and  a  command
to execute upon
  subsystem  request.   The command sftp-server(8)
implements the
             ``sftp'' file transfer  subsystem.   By  default  no
subsystems are
             defined.   Note that this option applies to protocol
version 2 only.


     SyslogFacility    [Toc]    [Back]
             Gives the facility code that is  used  when  logging
messages from
             sshd.   The possible values are: DAEMON, USER, AUTH,
LOCAL0, LOCAL1,
 LOCAL2, LOCAL3, LOCAL4,  LOCAL5,  LOCAL6,  LOCAL7.  The default
 is AUTH.

     TCPKeepAlive    [Toc]    [Back]
             Specifies   whether   the  system  should  send  TCP
keepalive messages
             to the other side.  If they are sent, death  of  the
connection or
             crash  of  one  of the machines will be properly noticed.  However,
             this means that connections will die if the route is
down temporarily,
  and some people find it annoying.  On the
other hand,
             if TCP keepalives are not sent,  sessions  may  hang
indefinitely on
             the  server,  leaving  ``ghost'' users and consuming
server resources.


             The default is ``yes'' (to send TCP  keepalive  messages), and the
             server  will  notice if the network goes down or the
client host
             crashes.  This avoids infinitely hanging sessions.

             To disable TCP keepalive messages, the value  should
be set to
             ``no''.

     UseDNS  Specifies whether sshd should lookup the remote host
name and
             check that the resolved host name for the remote  IP
address maps
             back  to  the  very same IP address.  The default is
``yes''.

     UseLogin    [Toc]    [Back]
             Specifies whether login(1) is used  for  interactive
login sessions.
   The  default is ``no''.  Note that login(1)
is never used
             for remote command execution.  Note  also,  that  if
this is enabled,
  X11Forwarding  will  be disabled because login(1) does not
             know   how   to   handle   xauth(1)   cookies.    If

UsePrivilegeSeparation    [Toc]    [Back]

             is  specified, it will be disabled after authentication.

     UsePrivilegeSeparation    [Toc]    [Back]
             Specifies whether sshd separates privileges by  creating an unprivileged
  child process to deal with incoming network traffic.
             After  successful  authentication,  another  process
will be created
             that  has  the  privilege of the authenticated user.
The goal of
             privilege separation is to prevent privilege escalation by containing
  any corruption within the unprivileged processes.  The
             default is ``yes''.

     X11DisplayOffset    [Toc]    [Back]
             Specifies the first  display  number  available  for
sshd's X11 forwarding.
   This  prevents sshd from interfering with
real X11
             servers.  The default is 10.

     X11Forwarding    [Toc]    [Back]
             Specifies whether X11 forwarding is permitted.   The
argument must
             be ``yes'' or ``no''.  The default is ``no''.

             When  X11  forwarding is enabled, there may be additional exposure
             to the server and to client  displays  if  the  sshd
proxy display is
             configured  to  listen  on the wildcard address (see

X11UseLocalhost    [Toc]    [Back]

             below), however this is not the default.   Additionally, the authentication
  spoofing and authentication data verification and
             substitution occur on the client side.  The security
risk of using
  X11 forwarding is that the client's X11 display
server may be
             exposed to attack when the ssh client requests  forwarding (see
             the  warnings  for  ForwardX11 in ssh_config(5)).  A
system administrator
 may have a stance in which they want to  protect clients
             that  may expose themselves to attack by unwittingly
requesting
             X11 forwarding, which can warrant a ``no''  setting.

             Note  that disabling X11 forwarding does not prevent
users from
             forwarding X11 traffic, as users can always  install
their own
             forwarders.   X11  forwarding  is automatically disabled if UseLogin
             is enabled.

     X11UseLocalhost    [Toc]    [Back]
             Specifies whether sshd should bind the X11  forwarding server to
             the loopback address or to the wildcard address.  By
default,
             sshd binds the forwarding server to the loopback address and sets
             the  hostname  part of the DISPLAY environment variable to
             ``localhost''.  This prevents remote hosts from connecting to the
             proxy  display.  However, some older X11 clients may
not function
             with this configuration.  X11UseLocalhost may be set
to ``no'' to
             specify  that  the forwarding server should be bound
to the wildcard
 address.   The  argument  must  be  ``yes''  or
``no''.  The default
 is ``yes''.

     XAuthLocation    [Toc]    [Back]
             Specifies the full pathname of the xauth(1) program.
The default
             is /usr/X11R6/bin/xauth.

   Time Formats    [Toc]    [Back]
     sshd command-line arguments and configuration  file  options
that specify
     time  may  be  expressed  using  a  sequence  of  the  form:
time[qualifier],
     where time is a positive integer value and qualifier is  one
of the following:


           <none>  seconds
           s | S   seconds
           m | M   minutes
           h | H   hours
           d | D   days
           w | W   weeks

     Each  member  of the sequence is added together to calculate
the total time
     value.

     Time format examples:

           600     600 seconds (10 minutes)
           10m     10 minutes
           1h30m   1 hour 30 minutes (90 minutes)

FILES    [Toc]    [Back]

     /etc/ssh/sshd_config
             Contains configuration data  for  sshd.   This  file
should be
             writable by root only, but it is recommended (though
not necessary)
 that it be world-readable.

SEE ALSO    [Toc]    [Back]

      
      
     sshd(8)

AUTHORS    [Toc]    [Back]

     OpenSSH is a derivative of the original and free ssh  1.2.12
release by
     Tatu Ylonen.  Aaron Campbell, Bob Beck, Markus Friedl, Niels
Provos, Theo
     de Raadt and Dug Song removed many bugs, re-added newer features and created
 OpenSSH.  Markus Friedl contributed the support for SSH
protocol
     versions 1.5 and 2.0.  Niels Provos and Markus  Friedl  contributed support
     for privilege separation.

OpenBSD      3.6                       September     25,     1999
[ Back ]
 Similar pages
Name OS Title
sshd OpenBSD OpenSSH SSH daemon
sshd FreeBSD OpenSSH SSH daemon
ssh_config OpenBSD OpenSSH SSH client configuration files
ssh_config FreeBSD OpenSSH SSH client configuration files
evmdaemon.conf Tru64 EVM daemon configuration file
sshd2_config Tru64 Configuration file for the sshd2 daemon
rtradvd.conf HP-UX configuration file for router advertisement daemon
rrenumd.conf FreeBSD configuration file for router renumbering daemon
gated.control Tru64 Gate daemon configuration file (control statements)
ntpd.conf OpenBSD Network Time Protocol daemon configuration file
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service