Google


     sshd  [-deiqtD46]  [-b  bits]  [-f  config_file]   [-g   lo-
gin_grace_time]
          [-h  host_key_file]  [-k  key_gen_time] [-o option] [-p
port] [-u len]

DESCRIPTION
     sshd (SSH Daemon) is the daemon program for ssh(1).  Togeth-
er these proM--
     grams  replace  rlogin and rsh, and provide secure encrypted
communications
     between two untrusted hosts over an insecure  network.   The
programs are
     intended to be as easy to install and use as possible.

     sshd  is  the  daemon  that  listens  for  connections  from
clients.  It is norM--
     mally started at boot from /etc/rc.  It forks a  new  daemon
for each
     incoming  connection.   The  forked  daemons  handle key ex-
change, encryption,
     authentication, command execution, and data exchange.   This
implementaM--
     tion  of sshd supports both SSH protocol version 1 and 2 si-
multaneously.
     sshd works as follows.

   SSH protocol version 1

     Each host has a host-specific RSA key (normally  1024  bits)
used to idenM--
     tify  the  host.   Additionally,  when the daemon starts, it
generates a
     server RSA key (normally 768 bits).  This  key  is  normally
regenerated
     every hour if it has been used, and is never stored on disk.

     Whenever a client connects the daemon responds with its pub-
lic host and
     server  keys.   The client compares the RSA host key against
its own
     database to verify that it has not changed.  The client then
generates a
     256 bit random number.  It encrypts this random number using
both the
     host key and the server key, and sends the encrypted  number
to the
     server.  Both sides then use this random number as a session
key which is
     used to encrypt all further communications in  the  session.
The rest of
     the  session  is encrypted using a conventional cipher, cur-
rently Blowfish
     insecure,  but  can  be  enabled in the server configuration
file if desired.
     System security is not improved unless rshd(8),  rlogind(8),
and rexecd(8)
     are disabled (thus completely disabling rlogin(1) and rsh(1)
into the
     machine).

   SSH protocol version 2

     Version 2 works similarly: Each host has a host-specific key
(RSA or DSA)
     used to identify the host.  However, when the daemon starts,
it does not
     generate a server key.  Forward security is provided through
a Diffie-
     Hellman  key  agreement.   This  key  agreement results in a
shared session
     key.

     The rest of the session is encrypted using a  symmetric  ci-
pher, currently
     128  bit AES, Blowfish, 3DES, CAST128, Arcfour, 192 bit AES,
or 256 bit
     AES.  The client selects the  encryption  algorithm  to  use
from those
     offered  by  the server.  Additionally, session integrity is
provided
     through a cryptographic message authentication  code  (hmac-
sha1 or hmac-
     md5).

     Protocol  version  2  provides a public key based user (Pub-
keyAuthenticaM--
     tion) or client host  (HostbasedAuthentication)  authentica-
tion method,
     conventional  password authentication and challenge response
based methM--
     ods.

   Command execution and data forwarding

     If the client successfully authenticates  itself,  a  dialog
for preparing
     the session is entered.  At this time the client may request
things like
     allocating a pseudo-tty, forwarding  X11  connections,  for-
warding TCP/IP
     connections,  or forwarding the authentication agent connec-
tion over the
     secure channel.


     sshd can be configured using command-line options or a  con-
figuration
     file.  Command-line options override values specified in the
configuraM--
     tion file.

     sshd rereads its  configuration  file  when  it  receives  a
hangup signal,
     SIGHUP, by executing itself with the name it was started as,
i.e.,
     /usr/sbin/sshd.

     The options are as follows:

     -b bits
             Specifies the number of bits in the ephemeral proto-
col version 1
             server key (default 768).

     -d       Debug  mode.  The server sends verbose debug output
to the system
             log, and does not put itself in the background.  The
server also
             will  not fork and will only process one connection.
This option
             is only intended for debugging for the server.  Mul-
tiple -d
             options increase the debugging level.  Maximum is 3.

     -e      When this option is specified, sshd  will  send  the
output to the
             standard error instead of the system log.

     -f configuration_file
             Specifies  the  name of the configuration file.  The
default is
             /etc/ssh/sshd_config.   sshd  refuses  to  start  if
there is no conM--
             figuration file.

     -g login_grace_time
             Gives  the  grace  time  for clients to authenticate
themselves
             (default 600 seconds).  If the client fails  to  au-
thenticate the
             user  within  this  many seconds, the server discon-
nects and exits.
             A value of zero indicates no limit.

     -h host_key_file
             Specifies a file from which  a  host  key  is  read.

is normally
             not  run from inetd because it needs to generate the
server key
             before it can respond to the client,  and  this  may
take tens of
             seconds.  Clients would have to wait too long if the
key was
             regenerated every time.   However,  with  small  key
sizes (e.g.,
             512) using sshd from inetd may be feasible.

     -k key_gen_time
             Specifies how often the ephemeral protocol version 1
server key
             is regenerated (default 3600 seconds, or one  hour).
The motivaM--
             tion  for  regenerating the key fairly often is that
the key is not
             stored anywhere, and after about an hour, it becomes
impossible
             to recover the key for decrypting intercepted commu-
nications even
             if the machine is cracked into or physically seized.
A value of
             zero indicates that the key will never be regenerat-
ed.

     -o option
             Can be used to give options in the  format  used  in
the configuraM--
             tion  file.   This  is useful for specifying options
for which there
             is no separate command-line flag.

     -p port
             Specifies the port on which the server  listens  for
connections
             (default  22).  Multiple port options are permitted.
Ports speciM--
             fied in the configuration file are  ignored  when  a
command-line
             port is specified.

     -q       Quiet  mode.   Nothing  is  sent to the system log.
Normally the
             beginning, authentication, and termination  of  each
connection is
             logged.

     -t       Test mode.  Only check the validity of the configu-
ration file and
             sanity of the keys.  This  is  useful  for  updating

be put into
             the  utmp file.  -u0 is also be used to prevent sshd
from making
             DNS requests unless the authentication mechanism  or
configuration
             requires it.  Authentication mechanisms that may re-
quire DNS
             include  RhostsAuthentication,  RhostsRSAAuthentica-
tion,
             HostbasedAuthentication  and  using a from="pattern-
list" option in
             a key file.  Configuration options that require  DNS
include using
             a USER@HOST pattern in AllowUsers or DenyUsers.

     -D       When  this option is specified sshd will not detach
and does not
             become a daemon.  This  allows  easy  monitoring  of
sshd.

     -4      Forces sshd to use IPv4 addresses only.

     -6      Forces sshd to use IPv6 addresses only.

CONFIGURATION FILE
     sshd  reads configuration data from /etc/ssh/sshd_config (or
the file
     specified with -f on the command line).  The  file  contains
keyword-arguM--
     ment 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 keyM--
     words  are  case-insensitive  and  arguments are case-sensi-
tive):

     AFSTokenPassing
             Specifies whether an AFS token may be  forwarded  to
the server.
             Default is ``yes''.

     AllowGroups
             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  wild-
cards in the
     AllowUsers
             This keyword can be followed by a list of user  name
patterns,
             separated by spaces.  If specified, login is allowed
only for
             users 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, restrict-
ing logins to
             particular users from particular hosts.

     AuthorizedKeysFile
             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 connec-
tion set-up.
             The following tokens are defined: %% is replaced  by
a literal
             '%', %h is replaced by the home directory of the us-
er 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 be-
fore authentiM--
             cation may be relevant for getting legal protection.
The conM--
             tents  of  the specified file are sent to the remote
user before
             authentication is  allowed.   This  option  is  only
available for
             protocol version 2.

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

sage 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
             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  mes-
sages 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  KeepAlive (below). The client
alive messages
             are sent through the encrypted channel and therefore
will not be
             spoofable.  The  TCP  keepalive  option  enabled  by
KeepAlive is
             spoofable. The client alive  mechanism  is  valuable
when the client
             or  server  depend  on knowing when a connection has
become inacM--
             tive.

             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.

     DenyGroups
             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  pat-
terns.  Only
             group  names  are valid; a numerical group ID is not
recognized.
             By default, login is allowed for all groups.

     DenyUsers
             particular hosts.

     GatewayPorts
             Specifies  whether  remote hosts are allowed to con-
nect to ports
             forwarded for the client.  By  default,  sshd  binds
remote port
             forwardings to the loopback addresss.  This prevents
other remote
             hosts from connecting to forwarded ports.   Gateway-
Ports 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''.

     HostbasedAuthentication
             Specifies whether rhosts or /etc/hosts.equiv authen-
tication
             together  with successful public key client host au-
thentication is
             allowed (hostbased authentication).  This option  is
similar to
             RhostsRSAAuthentication and applies to protocol ver-
sion 2 only.
             The default is ``no''.

     HostKey
             Specifies a file containing a private host key  used
by SSH.  The
             default  is  /etc/ssh/ssh_host_key for protocol ver-
sion 1, and
             /etc/ssh/ssh_host_rsa_key                        and
/etc/ssh/ssh_host_dsa_key for proM--
             tocol  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
             Specifies that .rhosts and .shosts files will not be
used in
             RhostsAuthentication, RhostsRSAAuthentication or
             HostbasedAuthentication.

             /etc/hosts.equiv  and  /etc/shosts.equiv  are  still
             crash of one of the machines will  be  properly  no-
ticed.  However,
             this means that connections will die if the route is
down temM--
             porarily, and some people find it annoying.  On  the
other hand,
             if keepalives are not sent, sessions may hang indef-
initely on the
             server, leaving ``ghost'' users and consuming server
resources.

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

             To  disable  keepalives,  the value should be set to
``no''.

     KerberosAuthentication
             Specifies whether  Kerberos  authentication  is  al-
lowed.  This can
             be  in the form of a Kerberos ticket, or if Passwor-
dAuthentication
             is yes, the password provided by the  user  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 idenM--
             tity.  Default is ``yes''.

     KerberosOrLocalPasswd
             If  set then if password authentication through Ker-
beros fails
             then the password will be validated  via  any  addi-
tional local
             mechanism  such as /etc/passwd.  Default is ``yes''.

     KerberosTgtPassing
             Specifies whether a Kerberos TGT may be forwarded to
the server.
             Default  is ``no'', as this only works when the Ker-
beros KDC is
             actually an AFS kaserver.

     KerberosTicketCleanup
             Specifies whether to automatically destroy  the  us-
er's ticket
             cache file on logout.  Default is ``yes''.

             Specifies the local addresses sshd should listen on.
The followM--
             ing 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 lis-
ten on all
             local addresses.  Multiple ListenAddress options are
permitted.
             Additionally, any Port options must precede this op-
tion for non
             port qualified addresses.

     LoginGraceTime
             The  server  disconnects after this time if the user
has not sucM--
             cessfully logged in.  If the value is 0, there is no
time limit.
             The default is 600 (seconds).

     LogLevel
             Gives  the verbosity level that is used when logging
messages from
             sshd.  The possible values are: QUIET, FATAL, ERROR,
INFO, VERM--
             BOSE, 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  recommend-
ed.

     MACs     Specifies the available MAC (message authentication
code) algoM--
             rithms.  The MAC algorithm is used in protocol  ver-
sion 2 for data
             integrity  protection.   Multiple algorithms must be
comma-sepaM--
             rated.  The default is
             ``hmac-md5,hmac-sha1,hmac-ripemd160,hmac-
sha1-96,hmac-md5-96''.

     MaxStartups
             Specifies the maximum number of concurrent unauthen-
ticated conM--
             (10) unauthenticated connections.   The  probability
increases linM--
             early and all connection attempts are refused if the
number of
             unauthenticated connections reaches ``full'' (60).

     PAMAuthenticationViaKbdInt
             Specifies whether PAM challenge response authentica-
tion is
             allowed.  This  allows the use of most PAM challenge
response
             authentication modules, but it will  allow  password
authentication
             regardless of whether PasswordAuthentication is dis-
abled.  The
             default is ``no''.

     PasswordAuthentication
             Specifies whether  password  authentication  is  al-
lowed.  The
             default is ``yes''.

     PermitEmptyPasswords
             When  password  authentication is allowed, it speci-
fies whether the
             server allows login to accounts with empty  password
strings.  The
             default is ``no''.

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

             If  this option is set to ``without-password'' pass-
word authentiM--
             cation 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 use-
ful 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.
time when the
             user last logged in.  The default is ``yes''.

     PrintMotd
             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
             Specifies the protocol versions sshd should support.
The possiM--
             ble values are ``1'' and ``2''.   Multiple  versions
must be comma-
             separated.  The default is ``2,1''.

     PubkeyAuthentication
             Specifies  whether  public key authentication is al-
lowed.  The
             default is ``yes''.  Note that this  option  applies
to protocol
             version 2 only.

     RhostsAuthentication
             Specifies  whether  authentication  using  rhosts or
/etc/hosts.equiv
             files is sufficient.  Normally, this  method  should
not be permitM--
             ted because it is insecure.  RhostsRSAAuthentication
should be
             used instead, because it performs RSA-based host au-
thentication
             in addition to normal rhosts or /etc/hosts.equiv au-
thentication.
             The default is ``no''.  This option applies to  pro-
tocol version 1
             only.

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

     RSAAuthentication
             Specifies whether pure  RSA  authentication  is  al-
lowed.  The
login.  This
             is normally desirable because novices sometimes  ac-
cidentally
             leave  their directory or files world-writable.  The
default is
             ``yes''.

     Subsystem
             Configures an external subsystem (e.g., file  trans-
fer 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  pro-
tocol version 2
             only.

     SyslogFacility
             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, LO-
CAL7.  The
             default is AUTH.

     UseLogin
             Specifies whether login(1) is used  for  interactive
login sesM--
             sions.   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 lo-
gin(1) does not
             know how to handle xauth(1) cookies.

     VerifyReverseMapping
             Specifies whether sshd should try to verify the  re-
mote 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 ``no''.

     X11DisplayOffset
             Specifies  the  first  display  number available for
sshd's X11 forM--
             warding.  This prevents sshd from  interfering  with

     X11UseLocalhost
             Specifies  whether sshd should bind the X11 forward-
ing server to
             the loopback address or to the wildcard address.  By
default,
             sshd binds the forwarding server to the loopback ad-
dress and sets
             the hostname part of the DISPLAY  environment  vari-
able to
             ``localhost''.  This prevents remote hosts from con-
necting to the
             fake 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 wildM--
             card  address.   The  argument  must  be  ``yes'' or
``no''.  The
             default is ``yes''.

     XAuthLocation
             Specifies the location of the xauth(1) program.  The
default is
             /usr/X11R6/bin/xauth.

   Time Formats

     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 folM--
     lowing:

           <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)
           3.   Checks /etc/nologin; if it  exists,  prints  con-
tents and quits
                (unless root).

           4.   Changes to run with normal user privileges.

           5.   Sets up basic environment.

           6.   Reads $HOME/.ssh/environment if it exists.

           7.   Changes to user's home directory.

           8.     If  $HOME/.ssh/rc  exists,  runs  it;  else  if
/etc/ssh/sshrc
                exists,  runs  it;  otherwise  runs  xauth.   The
``rc'' files are
                given  the X11 authentication protocol and cookie
in standard
                input.

           9.   Runs user's shell or command.

AUTHORIZED_KEYS FILE FORMAT
     $HOME/.ssh/authorized_keys is the default  file  that  lists
the public keys
     that  are  permitted for RSA authentication in protocol ver-
sion 1 and for
     public key authentication (PubkeyAuthentication) in protocol
version 2.
     AuthorizedKeysFile  may  be  used  to specify an alternative
file.

     Each line of the file contains  one  key  (empty  lines  and
lines starting
     with  a  `#'  are ignored as comments).  Each RSA public key
consists of the
     following fields, separated by spaces: options, bits,  expo-
nent, modulus,
     comment.   Each  protocol  version 2 public key consists of:
options, keyM--
     type, base64 encoded key, comment.  The options  fields  are
optional; its
     presence  is  determined  by  whether the line starts with a
number or not
     (the option field never starts with a  number).   The  bits,
exponent, moduM--
     lus and comment fields give the RSA key for protocol version
1; the comM--
     ment field is not used for anything (but may  be  convenient
for the user
     to identify the key).  For protocol version 2 the keytype is
``ssh-dss''
     lowing option specifications are supported (note that option
keywords are
     case-insensitive):

     from="pattern-list"
             Specifies that in addition  to  RSA  authentication,
the canonical
             name  of the remote host must be present in the com-
ma-separated
             list of patterns (`*' and `'?  serve as  wildcards).
The list may
             also contain patterns negated by prefixing them with
`'!; if the
             canonical host name matches a negated  pattern,  the
key is not
             accepted.   The purpose of this option is to option-
ally increase
             security: RSA  authentication  by  itself  does  not
trust the network
             or  name servers or anything (but the key); however,
if somebody
             somehow steals the key, the key permits an  intruder
to log in
             from  anywhere in the world.  This additional option
makes using a
             stolen  key  more  difficult  (name  servers  and/or
routers would have
             to be compromised in addition to just the key).

     command="command"
             Specifies that the command is executed whenever this
key is used
             for authentication.  The command supplied by the us-
er (if any) is
             ignored.   The command is run on a pty if the client
requests a
             pty; otherwise it is run without a tty.  If a  8-bit
clean channel
             is  required,  one  must not request a pty or should
specify no-pty.
             A quote may be included in the command by quoting it
with a backM--
             slash.  This option might be useful to restrict cer-
tain RSA keys
             to perform just a specific  operation.   An  example
might be a key
             that  permits remote backups but nothing else.  Note
that the
             client may specify TCP/IP and/or X11 forwarding  un-
less they are
             explicitly  prohibited.   Note  that this option ap-
plies to shell,
             Forbids TCP/IP forwarding when this key is used  for
authenticaM--
             tion.   Any port forward requests by the client will
return an
             error.  This might be used, e.g., in connection with
the command
             option.

     no-X11-forwarding
             Forbids X11 forwarding when this key is used for au-
thentication.
             Any X11 forward requests by the client  will  return
an error.

     no-agent-forwarding
             Forbids  authentication  agent  forwarding when this
key is used for
             authentication.

     no-pty  Prevents tty allocation (a request to allocate a pty
will fail).

     permitopen="host:port"
             Limit  local ``ssh -L'' port forwarding such that it
may only conM--
             nect to the specified host and port.  IPv6 addresses
can be specM--
             ified with an alternative syntax: host/port.  Multi-
ple permitopen
             options may be applied separated by commas. No  pat-
tern matching
             is  performed  on the specified hostnames, they must
be literal
             domains or addresses.

   Examples
     1024 33 12121...312314325 ylo@foo.bar

     from="*.niksula.hut.fi,!pc.niksula.hut.fi" 1024 35 23...2334
ylo@niksula

     command="dump   /home",no-pty,no-port-forwarding   1024   33
23...2323
     backup.hut.fi

     permitopen="10.2.1.55:80",permitopen="10.2.1.56:25" 1024  33
23...2323

SSH_KNOWN_HOSTS FILE FORMAT
     The   /etc/ssh/ssh_known_hosts,  and  $HOME/.ssh/known_hosts
files contain
     host public keys for  all  known  hosts.   The  global  file
     cards); each pattern in turn is matched against the  canoni-
cal host name
     (when  authenticating a client) or against the user-supplied
name (when
     authenticating a server).  A pattern may also be preceded by
`'!  to
     indicate  negation:  if the host name matches a negated pat-
tern, it is not
     accepted (by that line) even if it matched  another  pattern
on the line.

     Bits,  exponent, and modulus are taken directly from the RSA
host key;
     they can be obtained, e.g., from  /etc/ssh/ssh_host_key.pub.
The optional
     comment  field  continues to the end of the line, and is not
used.

     Lines starting with `#' and empty lines are ignored as  com-
ments.

     When  performing  host authentication, authentication is ac-
cepted if any
     matching line has the proper key.  It  is  thus  permissible
(but not recomM--
     mended) to have several lines or different host keys for the
same names.
     This will inevitably happen when short forms of  host  names
from different
     domains  are put in the file.  It is possible that the files
contain conM--
     flicting information; authentication is  accepted  if  valid
information can
     be found from either file.

     Note that the lines in these files are typically hundreds of
characters
     long, and you definitely don't want to type in the host keys
by hand.
     Rather,   generate   them   by   a   script   or  by  taking
/etc/ssh/ssh_host_key.pub
     and adding the host names at the front.

   Examples

     closenet,...,130.233.208.41 1024 37 159...93 closenet.hut.fi
     cvs.openbsd.org,199.185.137.3 ssh-rsa AAAA1234.....=

FILES
     /etc/ssh/sshd_config
             Contains  configuration  data  for  sshd.  This file
should be
     /etc/ssh/ssh_host_key.pub, /etc/ssh/ssh_host_dsa_key.pub,
             /etc/ssh/ssh_host_rsa_key.pub
             These three files contain the public  parts  of  the
host keys.
             These  files  should  be world-readable but writable
only by root.
             Their contents should match the  respective  private
parts.  These
             files  are  not  really  used for anything; they are
provided for the
             convenience of the user so  their  contents  can  be
copied to known
             hosts files.  These files are created using ssh-key-
gen(1).

     /etc/moduli
             Contains Diffie-Hellman groups used for the "Diffie-
Hellman Group
             Exchange".

     /var/run/sshd.pid
             Contains  the  process  ID of the sshd listening for
connections (if
             there are several daemons running  concurrently  for
different
             ports,  this  contains  the  pid  of the one started
last).  The conM--
             tent of this file is not sensitive; it can be world-
readable.

     $HOME/.ssh/authorized_keys
             Lists  the public keys (RSA or DSA) that can be used
to log into
             the user's account.  This file must be  readable  by
root (which
             may  on  some machines imply it being world-readable
if the user's
             home directory resides on an  NFS  volume).   It  is
recommended that
             it  not be accessible by others.  The format of this
file is
             described above.  Users will place the  contents  of
their
             identity.pub, id_dsa.pub and/or id_rsa.pub files in-
to this file,
             as described in ssh-keygen(1).

     /etc/ssh/ssh_known_hosts and $HOME/.ssh/known_hosts
             These files are consulted when using rhosts with RSA
host authenM--
             tication or protocol version 2 hostbased authentica-
tion to check
cept root log
             in.  The contents of the file are displayed to  any-
one trying to
             log  in,  and non-root connections are refused.  The
file should be
             world-readable.

     /etc/hosts.allow, /etc/hosts.deny
             Access controls that should be enforced by tcp-wrap-
pers are
             defined  here.   Further  details  are  described in
hosts_access(5).

     $HOME/.rhosts
             This file contains host-username pairs, separated by
a space, one
             per  line.  The given user on the corresponding host
is permitted
             to log in without password.  The same file  is  used
by rlogind and
             rshd.   The  file must be writable only by the user;
it is recomM--
             mended that it not be accessible by others.

             If is also possible to use netgroups  in  the  file.
Either host or
             user  name may be of the form +@groupname to specify
all hosts or
             all users in the group.

     $HOME/.shosts
             For ssh, this  file  is  exactly  the  same  as  for
.rhosts.  However,
             this  file  is not used by rlogin and rshd, so using
this permits
             access using SSH only.

     /etc/hosts.equiv
             This file is used during .rhosts authentication.  In
the simplest
             form,  this  file contains host names, one per line.
Users on
             those hosts are permitted to log in without a  pass-
word, provided
             they  have the same user name on both machines.  The
host name may
             also be followed by a user name; such users are per-
mitted to log
             in as any user on this machine (except root).  Addi-
tionally, the
             syntax ``+@group'' can be used to specify netgroups.
Negated
names in
             hosts.equiv.   Beware  that it really means that the
named user(s)
             can log in as anybody, which includes  bin,  daemon,
adm, and other
             accounts that own critical binaries and directories.
Using a
             user name practically grants the user  root  access.
The only
             valid  use  for user names that I can think of is in
negative
             entries.

             Note that this warning also applies to rsh/rlogin.

     /etc/shosts.equiv
             This is processed exactly as /etc/hosts.equiv.  How-
ever, this
             file  may be useful in environments that want to run
both
             rsh/rlogin and ssh.

     $HOME/.ssh/environment
             This file is read into the environment at login  (if
it exists).
             It can only contain empty lines, comment lines (that
start with
             `#'), and assignment lines of the  form  name=value.
The file
             should  be writable only by the user; it need not be
readable by
             anyone else.

     $HOME/.ssh/rc
             If this file exists, it is run  with  /bin/sh  after
reading the
             environment  files  but  before  starting the user's
shell or comM--
             mand.  If X11 spoofing is in use, this will  receive
the "proto
             cookie" pair in standard input (and DISPLAY in envi-
ronment).
             This must call xauth(1) in that case.

             The primary purpose of this file is to run any  ini-
tialization
             routines  which may be needed before the user's home
directory
             becomes accessible; AFS is a particular  example  of
such an enviM--
             ronment.

             This  file  should be writable only by the user, and
need not be
             readable by anyone else.

     /etc/ssh/sshrc
             Like $HOME/.ssh/rc.  This can be used to specify ma-
chine-specific
             login-time   initializations  globally.   This  file
should be
             writable only by root, and should be world-readable.

AUTHORS
     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 fea-
tures and creM--
     ated OpenSSH.  Markus Friedl contributed the support for SSH
protocol
     versions 1.5 and 2.0.

SEE ALSO
     scp(1),  sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-key-
gen(1),
     login.conf(5), moduli(5), sftp-server(8)

     T. Ylonen, T. Kivinen, M. Saarinen, T. Rinne, and S.  Lehti-
nen, SSH
     Protocol Architecture, draft-ietf-secsh-architecture-09.txt,
July 2001,
     work in progress material.

     M. Friedl, N. Provos,  and  W.  A.  Simpson,  Diffie-Hellman
Group Exchange
     for  the  SSH Transport Layer Protocol, draft-ietf-secsh-dh-
group-
     exchange-01.txt, April 2001, work in progress material.

BSD                                September       25,       1999
BSD












Man(1) output converted with man2html