Google


     ssh [-l login_name] hostname | user@hostname [command]

     ssh  [-afgknqstvxACNPTX1246]  [-b  bind_address]   [-c   ci-
pher_spec]
         [-e  escape_char] [-i identity_file] [-l login_name] [-m
mac_spec]
         [-o   option]   [-p   port]    [-F    configfile]    [-L
port:host:hostport] [-R
         port:host:hostport]  [-D  port] hostname | user@hostname
[command]

DESCRIPTION
     ssh (SSH client) is a program for logging into a remote  ma-
chine and for
     executing  commands  on a remote machine.  It is intended to
replace rlogin
     and rsh, and provide secure encrypted communications between
two
     untrusted  hosts  over an insecure network.  X11 connections
and arbitrary
     TCP/IP ports can also be forwarded over the secure  channel.

     ssh connects and logs into the specified hostname.  The user
must prove
     his/her identity to the remote machine using one of  several
methods
     depending on the protocol version used:

   SSH protocol version 1

     First,  if  the  machine  the user logs in from is listed in
/etc/hosts.equiv
     or /etc/shosts.equiv on the remote  machine,  and  the  user
names are the
     same on both sides, the user is immediately permitted to log
in.  Second,
     if .rhosts or .shosts exists in the user's home directory on
the remote
     machine  and  contains  a  line  containing  the name of the
client machine and
     the name of the user on that machine, the user is  permitted
to log in.
     This form of authentication alone is normally not allowed by
the server
     because it is not secure.

     The  second  authentication  method   is   the   rhosts   or
hosts.equiv method comM--
     bined  with RSA-based host authentication.  It means that if
the login
     would  be   permitted   by   $HOME/.rhosts,   $HOME/.shosts,
/etc/hosts.equiv, or
     As a third authentication method, ssh supports RSA based au-
thentication.
     The scheme is based on public-key  cryptography:  there  are
cryptosystems
     where  encryption  and  decryption  are  done using separate
keys, and it is
     not possible to derive the decryption key from  the  encryp-
tion key.  RSA
     is  one  such  system.  The idea is that each user creates a
public/private
     key pair for authentication purposes.  The server knows  the
public key,
     and only the user knows the private key.  The file
     $HOME/.ssh/authorized_keys  lists  the  public keys that are
permitted for
     logging in.  When the user logs in, the  ssh  program  tells
the server
     which key pair it would like to use for authentication.  The
server
     checks if this key is permitted, and if so, sends  the  user
(actually the
     ssh  program  running  on behalf of the user) a challenge, a
random number,
     encrypted by the user's public key.  The challenge can  only
be decrypted
     using  the  proper  private key.  The user's client then de-
crypts the chalM--
     lenge using the private key, proving that he/she  knows  the
private key
     but without disclosing it to the server.

     ssh  implements the RSA authentication protocol automatical-
ly.  The user
     creates his/her RSA key pair by running ssh-keygen(1).  This
stores the
     private key in $HOME/.ssh/identity and the public key in
     $HOME/.ssh/identity.pub  in  the user's home directory.  The
user should
     then copy the identity.pub to $HOME/.ssh/authorized_keys  in
his/her home
     directory  on  the  remote machine (the authorized_keys file
corresponds to
     the conventional $HOME/.rhosts file, and  has  one  key  per
line, though the
     lines  can  be  very long).  After this, the user can log in
without giving
     the password.  RSA authentication is much more  secure  than
rhosts authenM--
     tication.

     The  most  convenient  way  to use RSA authentication may be
with an authenM--
     methods are available.  Using the default values for
     PreferredAuthentications, the client will try  to  authenti-
cate first using
     the  hostbased  method;  if this method fails public key au-
thentication is
     attempted, and finally if this method fails  keyboard-inter-
active and
     password authentication are tried.

     The  public  key method is similar to RSA authentication de-
scribed in the
     previous section and allows the RSA or DSA algorithm  to  be
used: The
     client   uses   his   private   key,   $HOME/.ssh/id_dsa  or
$HOME/.ssh/id_rsa, to
     sign the session identifier and  sends  the  result  to  the
server.  The
     server checks whether the matching public key is listed in
     $HOME/.ssh/authorized_keys and grants access if both the key
is found and
     the signature is correct.  The session identifier is derived
from a
     shared  Diffie-Hellman value and is only known to the client
and the
     server.

     If public key authentication fails or  is  not  available  a
password can be
     sent  encrypted  to  the  remote host for proving the user's
identity.

     Additionally, ssh supports hostbased or  challenge  response
authenticaM--
     tion.

     Protocol 2 provides additional mechanisms for confidentiali-
ty (the trafM--
     fic is encrypted using 3DES, Blowfish, CAST128  or  Arcfour)
and integrity
     (hmac-md5,  hmac-sha1).  Note that protocol 1 lacks a strong
mechanism for
     ensuring the integrity of the connection.

   Login session and remote execution

     When the user's identity has been accepted  by  the  server,
the server
     either  executes the given command, or logs into the machine
and gives the
     user a normal shell on the remote machine.   All  communica-
tion with the
     remote command or shell will be automatically encrypted.

mote machine
     exits and all X11 and TCP/IP connections have  been  closed.
The exit staM--
     tus  of the remote program is returned as the exit status of
ssh.

   Escape Characters

     When a pseudo terminal has been requested,  ssh  supports  a
number of funcM--
     tions through the use of an escape character.

     A  single  tilde character can be sent as ~~ or by following
the tilde by a
     character other than  those  described  below.   The  escape
character must
     always  follow  a newline to be interpreted as special.  The
escape characM--
     ter can be changed in  configuration  files  using  the  Es-
capeChar configuraM--
     tion directive or on the command line by the -e option.

     The supported escapes (assuming the default `~') are:

     ~.      Disconnect

     ~^Z     Background ssh

     ~#      List forwarded connections

     ~&       Background ssh at logout when waiting for forwarded
connection /
             X11 sessions to terminate

     ~?      Display a list of escape characters

     ~R      Request rekeying of the connection (only useful  for
SSH protocol
             version 2 and if the peer supports it)

   X11 and TCP forwarding

     If  the  ForwardX11  variable is set to ``yes'' (or, see the
description of
     the -X and -x options described later) and the user is using
X11 (the
     DISPLAY  environment variable is set), the connection to the
X11 display
     is automatically forwarded to the remote side in such a  way
that any X11
     programs started from the shell (or command) will go through
the
     connections over the encrypted channel.

     ssh will also automatically set up Xauthority  data  on  the
server machine.
     For  this  purpose,  it will generate a random authorization
cookie, store
     it in Xauthority on the server, and verify that any forward-
ed connections
     carry this cookie and replace it by the real cookie when the
connection
     is opened.  The real authentication cookie is never sent  to
the server
     machine (and no cookies are sent in the plain).

     If the user is using an authentication agent, the connection
to the agent
     is automatically forwarded to the remote  side  unless  dis-
abled on the comM--
     mand line or in a configuration file.

     Forwarding  of  arbitrary TCP/IP connections over the secure
channel can be
     specified either on the command line or in  a  configuration
file.  One
     possible  application  of TCP/IP forwarding is a secure con-
nection to an
     electronic purse; another is going through firewalls.

   Server authentication

     ssh automatically maintains and checks a database containing
identificaM--
     tions  for  all hosts it has ever been used with.  Host keys
are stored in
     $HOME/.ssh/known_hosts in the user's home directory.   Addi-
tionally, the
     file  /etc/ssh/ssh_known_hosts  is automatically checked for
known hosts.
     Any new hosts are automatically added to  the  user's  file.
If a host's
     identification  ever  changes, ssh warns about this and dis-
ables password
     authentication to prevent a trojan horse  from  getting  the
user's passM--
     word.   Another purpose of this mechanism is to prevent man-
in-the-middle
     attacks which could otherwise be used to circumvent the  en-
cryption.  The
     StrictHostKeyChecking option (see below) can be used to pre-
vent logins to
     machines whose host key is not known or has changed.

             interfaces or aliased addresses.

     -c blowfish|3des|des
             Selects the cipher to use for  encrypting  the  ses-
sion.  3des is
             used by default.  It is believed to be secure.  3des
(triple-des)
             is an encrypt-decrypt-encrypt triple with three dif-
ferent keys.
             blowfish is a fast block cipher, it appears very se-
cure and is
             much faster than 3des.  des is only supported in the
ssh client
             for  interoperability  with legacy protocol 1 imple-
mentations that
             do not support the 3des cipher.  Its use is strongly
discouraged
             due to cryptographic weaknesses.

     -c cipher_spec
             Additionally,  for  protocol version 2 a comma-sepa-
rated list of
             ciphers can be specified  in  order  of  preference.
See Ciphers for
             more information.

     -e ch|^ch|none
             Sets  the  escape  character for sessions with a pty
(default: `~').
             The escape character is only recognized at  the  be-
ginning of a
             line.   The escape character followed by a dot (`.')
closes the
             connection, followed by control-Z suspends the  con-
nection, and
             followed  by itself sends the escape character once.
Setting the
             character to ``none'' disables any escapes and makes
the session
             fully transparent.

     -f      Requests ssh to go to background just before command
execution.
             This is useful if ssh is going to ask for  passwords
or
             passphrases,  but  the  user  wants  it in the back-
ground.  This
             implies -n.  The recommended way to start  X11  pro-
grams at a
             remote  site  is  with  something  like  ssh -f host
xterm.

tiple identiM--
             ties specified in configuration files).

     -I smartcard_device
             Specifies which smartcard device to use.  The  argu-
ment is the
             device  ssh  should use to communicate with a smart-
card used for
             storing the user's private RSA key.

     -k      Disables forwarding of Kerberos tickets and AFS  to-
kens.  This may
             also be specified on a per-host basis in the config-
uration file.

     -l login_name
             Specifies the user to log in as on  the  remote  ma-
chine.  This also
             may be specified on a per-host basis in the configu-
ration file.

     -m mac_spec
             Additionally, for protocol version 2  a  comma-sepa-
rated list of
             MAC  (message authentication code) algorithms can be
specified in
             order of preference.  See the MACs keyword for  more
information.

     -n       Redirects  stdin from /dev/null (actually, prevents
reading from
             stdin).  This must be used when ssh is  run  in  the
background.  A
             common trick is to use this to run X11 programs on a
remote
             machine.   For  example,  ssh  -n  shadows.cs.hut.fi
emacs & will
             start  an  emacs  on  shadows.cs.hut.fi, and the X11
connection will
             be automatically forwarded over an  encrypted  chan-
nel.  The ssh
             program  will  be put in the background.  (This does
not work if
             ssh needs to ask for a password or  passphrase;  see
also the -f
             option.)

     -N      Do not execute a remote command.  This is useful for
just forM--
             warding ports (protocol version 2 only).

     -o option

privileged
             ports.   Note  that  this  option  turns  off Rhost-
sAuthentication and
             RhostsRSAAuthentication for older servers.

     -q      Quiet mode.  Causes all warning and diagnostic  mes-
sages to be
             suppressed.

     -s       May be used to request invocation of a subsystem on
the remote
             system. Subsystems are a feature of the SSH2  proto-
col which
             facilitate  the use of SSH as a secure transport for
other appliM--
             cations (eg. sftp). The subsystem  is  specified  as
the remote comM--
             mand.

     -t       Force  pseudo-tty  allocation.  This can be used to
execute arbiM--
             trary screen-based programs  on  a  remote  machine,
which can be
             very  useful, e.g., when implementing menu services.
Multiple -t
             options force tty allocation, even if ssh has no lo-
cal tty.

     -T      Disable pseudo-tty allocation.

     -v       Verbose  mode.   Causes ssh to print debugging mes-
sages about its
             progress.  This is helpful in debugging  connection,
authenticaM--
             tion,  and  configuration problems.  Multiple -v op-
tions increases
             the verbosity.  Maximum is 3.

     -x      Disables X11 forwarding.

     -X      Enables X11 forwarding.  This can also be  specified
on a per-host
             basis in a configuration file.

     -C       Requests  compression of all data (including stdin,
stdout,
             stderr, and data for forwarded X11 and  TCP/IP  con-
nections).  The
             compression  algorithm  is the same used by gzip(1),
and the
             ``level'' can be controlled by the  CompressionLevel
option (see
nored.  The
             default  for  the  per-user  configuration  file  is
$HOME/.ssh/config.

     -L port:host:hostport
             Specifies  that the given port on the local (client)
host is to be
             forwarded to the given host and port on  the  remote
side.  This
             works  by  allocating  a socket to listen to port on
the local side,
             and whenever a connection is made to this port,  the
connection is
             forwarded  over the secure channel, and a connection
is made to
             host port hostport from the  remote  machine.   Port
forwardings can
             also  be  specified in the configuration file.  Only
root can forM--
             ward privileged ports.  IPv6 addresses can be speci-
fied with an
             alternative syntax: port/host/hostport

     -R port:host:hostport
             Specifies that the given port on the remote (server)
host is to
             be forwarded to the given host and port on the local
side.  This
             works  by  allocating  a socket to listen to port on
the remote
             side, and whenever a  connection  is  made  to  this
port, the connecM--
             tion  is  forwarded  over  the secure channel, and a
connection is
             made to host port hostport from the  local  machine.
Port forwardM--
             ings  can  also  be  specified  in the configuration
file.  Privileged
             ports can be forwarded only when logging in as  root
on the remote
             machine.   IPv6  addresses  can be specified with an
alternative
             syntax: port/host/hostport

     -D port
             Specifies a local ``dynamic'' application-level port
forwarding.
             This  works by allocating a socket to listen to port
on the local
             side, and whenever a  connection  is  made  to  this
port, the connecM--
             tion  is  forwarded over the secure channel, and the

     -4      Forces ssh to use IPv4 addresses only.

     -6      Forces ssh to use IPv6 addresses only.

CONFIGURATION FILES
     ssh obtains configuration data from the following sources in
the followM--
     ing order: command line options, user's configuration file
     ($HOME/.ssh/config), and system-wide configuration file
     (/etc/ssh/ssh_config).   For  each  parameter, the first ob-
tained value will
     be used.  The configuration files contain sections bracketed
by ``Host''
     specifications,  and  that section is only applied for hosts
that match one
     of the patterns given in  the  specification.   The  matched
host name is the
     one given on the command line.

     Since  the  first obtained value for each parameter is used,
more host-speM--
     cific declarations should be given near the beginning of the
file, and
     general defaults at the end.

     The configuration file has the following format:

     Empty lines and lines starting with `#' are comments.

     Otherwise  a  line  is  of the format ``keyword arguments''.
Configuration
     options may be separated by whitespace  or  optional  white-
space and exactly
     one  `=';  the  latter format is useful to avoid the need to
quote whitesM--
     pace when specifying configuration options  using  the  ssh,
scp and sftp -o
     option.

     The  possible  keywords  and  their  meanings are as follows
(note that keyM--
     words are case-insensitive  and  arguments  are  case-sensi-
tive):

     Host    Restricts the following declarations (up to the next
Host keyM--
             word) to be only for those hosts that match  one  of
the patterns
             given  after  the keyword.  `*' and `'?  can be used
as wildcards
             in the patterns.  A single `*' as a pattern  can  be

     BatchMode
             If set to ``yes'', passphrase/password querying will
be disabled.
             This  option  is  useful  in scripts and other batch
jobs where no
             user is present to supply the password.   The  argu-
ment must be
             ``yes'' or ``no''.  The default is ``no''.

     BindAddress
             Specify  the  interface to transmit from on machines
with multiple
             interfaces or aliased addresses.  Note that this op-
tion does not
             work if UsePrivilegedPort is set to ``yes''.

     CheckHostIP
             If this flag is set to ``yes'', ssh will additional-
ly check the
             host IP address in the known_hosts file.   This  al-
lows ssh to
             detect  if  a  host key changed due to DNS spoofing.
If the option
             is set to ``no'', the check will  not  be  executed.
The default is
             ``yes''.

     Cipher   Specifies the cipher to use for encrypting the ses-
sion in protoM--
             col version 1.  Currently,  ``blowfish'',  ``3des'',
and ``des''
             are  supported.   des  is  only supported in the ssh
client for
             interoperability with legacy protocol 1  implementa-
tions that do
             not  support  the  3des cipher.  Its use is strongly
discouraged due
             to  cryptographic  weaknesses.    The   default   is
``3des''.

     Ciphers
             Specifies the ciphers allowed for protocol version 2
in order of
             preference.  Multiple ciphers must be comma-separat-
ed.  The
             default is

               ``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,ar-
cfour,
                 aes192-cbc,aes256-cbc''

     Compression
             Specifies whether to use compression.  The  argument
must be
             ``yes'' or ``no''.  The default is ``no''.

     CompressionLevel
             Specifies  the  compression level to use if compres-
sion is enabled.
             The argument must be an integer from 1 (fast)  to  9
(slow, best).
             The  default  level is 6, which is good for most ap-
plications.  The
             meaning of the values is the  same  as  in  gzip(1).
Note that this
             option applies to protocol version 1 only.

     ConnectionAttempts
             Specifies  the  number  of tries (one per second) to
make before
             falling back to rsh or exiting.  The  argument  must
be an integer.
             This  may  be  useful  in  scripts if the connection
sometimes fails.
             The default is 1.

     DynamicForward
             Specifies that a TCP/IP port on the local machine be
forwarded
             over  the secure channel, and the application proto-
col is then
             used to determine where to connect to from  the  re-
mote machine.
             The  argument  must be a port number.  Currently the
SOCKS4 protoM--
             col is supported, and ssh will act as a SOCKS4 serv-
er.  Multiple
             forwardings  may  be  specified, and additional for-
wardings can be
             given on the command line.  Only the  superuser  can
forward priviM--
             leged ports.

     EscapeChar
             Sets  the  escape character (default: `~').  The es-
cape character
             can also be set on the command line.   The  argument
should be a
             single  character,  `^'  followed  by  a  letter, or
``none'' to disM--
             able the escape character entirely (making the  con-
nection transM--
             parent for binary data).

tion agent (if
             any) will be forwarded to the remote  machine.   The
argument must
             be ``yes'' or ``no''.  The default is ``no''.

     ForwardX11
             Specifies  whether X11 connections will be automati-
cally rediM--
             rected over the secure channel and DISPLAY set.  The
argument
             must be ``yes'' or ``no''.  The default is ``no''.

     GatewayPorts
             Specifies  whether  remote hosts are allowed to con-
nect to local
             forwarded ports.  By default, ssh binds  local  port
forwardings to
             the  loopback  addresss.  This prevents other remote
hosts from
             connecting to forwarded ports.  GatewayPorts can  be
used to specM--
             ify  that  ssh should bind local 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''.

     GlobalKnownHostsFile
             Specifies a file to use  for  the  global  host  key
database instead
             of /etc/ssh/ssh_known_hosts.

     HostbasedAuthentication
             Specifies whether to try rhosts based authentication
with public
             key authentication.  The argument must be ``yes'' or
``no''.  The
             default  is ``no''.  This option applies to protocol
version 2
             only and is similar to RhostsRSAAuthentication.

     HostKeyAlgorithms
             Specifies the protocol version 2 host key algorithms
that the
             client wants to use in order of preference.  The de-
fault for this
             option is: ``ssh-rsa,ssh-dss''.

     HostKeyAlias
             Specifies an alias that should be  used  instead  of

es are also
             permitted  (both on the command line and in HostName
specificaM--
             tions).

     IdentityFile
             Specifies a file from which the user's  RSA  or  DSA
authentication
             identity is read. The default is $HOME/.ssh/identity
for protocol
             version     1,     and     $HOME/.ssh/id_rsa     and
$HOME/.ssh/id_dsa for protoM--
             col  version 2.  Additionally, any identities repre-
sented by the
             authentication agent will be  used  for  authentica-
tion.  The file
             name  may  use the tilde syntax to refer to a user's
home direcM--
             tory.  It is  possible  to  have  multiple  identity
files specified
             in configuration files; all these identities will be
tried in
             sequence.

     KeepAlive
             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  no-
ticed.  However,
             this means that connections will die if the route is
down temM--
             porarily, and some people find it annoying.

             The default is ``yes'' (to send keepalives), and the
client will
             notice  if  the network goes down or the remote host
dies.  This is
             important in scripts, and many users want it too.

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

     KerberosAuthentication
             Specifies  whether  Kerberos  authentication will be
used.  The
             argument to this keyword must be ``yes'' or  ``no''.

     KerberosTgtPassing
             Specifies  whether  a Kerberos TGT will be forwarded
to the server.
specified
             with an  alternative  syntax:  host/port.   Multiple
forwardings may
             be specified, and additional forwardings can be giv-
en on the comM--
             mand line.  Only the superuser  can  forward  privi-
leged ports.

     LogLevel
             Gives  the verbosity level that is used when logging
messages from
             ssh.  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 verbose output.

     MACs     Specifies the MAC (message authentication code) al-
gorithms in
             order of preference.  The MAC algorithm is  used  in
protocol verM--
             sion  2 for data integrity protection.  Multiple al-
gorithms must
             be comma-separated.  The default is
             ``hmac-md5,hmac-sha1,hmac-ripemd160,hmac-
sha1-96,hmac-md5-96''.

     NoHostAuthenticationForLocalhost
             This  option  can  be  used if the home directory is
shared across
             machines.  In this case localhost will  refer  to  a
different
             machine  on  each  of the machines and the user will
get many warnM--
             ings about changed host keys.  However, this  option
disables host
             authentication  for localhost.  The argument to this
keyword must
             be ``yes'' or ``no''.  The default is to  check  the
host key for
             localhost.

     NumberOfPasswordPrompts
             Specifies the number of password prompts before giv-
ing up.  The
             argument to this keyword must be  an  integer.   De-
fault is 3.

     PasswordAuthentication
             Specifies  whether  to  use password authentication.
             (e.g.   keyboard-interactive)  over  another  method
(e.g.  password)
             The default for this option is:
             ``hostbased,publickey,keyboard-interactive,pass-
word''.

     Protocol
             Specifies the protocol versions ssh  should  support
in order of
             preference.   The  possible  values  are  ``1''  and
``2''.  Multiple
             versions must be comma-separated.   The  default  is
``2,1''.  This
             means  that  ssh  tries  version 2 and falls back to
version 1 if
             version 2 is not available.

     ProxyCommand
             Specifies the command to use to connect to the serv-
er.  The comM--
             mand  string  extends to the end of the line, and is
executed with
             /bin/sh.  In the command string, `%h' will  be  sub-
stituted by the
             host name to connect and `%p' by the port.  The com-
mand can be
             basically anything, and should read from  its  stan-
dard input and
             write  to its standard output.  It should eventually
connect an
             sshd(8) server running on some machine,  or  execute
sshd -i someM--
             where.   Host  key management will be done using the
HostName of
             the host being connected  (defaulting  to  the  name
typed by the
             user).   Note  that CheckHostIP is not available for
connects with
             a proxy command.

     PubkeyAuthentication
             Specifies whether to try public key  authentication.
The argument
             to  this keyword must be ``yes'' or ``no''.  The de-
fault is
             ``yes''.  This option applies to protocol version  2
only.

     RemoteForward
             Specifies  that  a TCP/IP port on the remote machine
be forwarded
             over the secure channel to the  specified  host  and

tion.  Note that
             this  declaration  only  affects the client side and
has no effect
             whatsoever on security.  Disabling rhosts  authenti-
cation may
             reduce  authentication time on slow connections when
rhosts
             authentication is not used.   Most  servers  do  not
permit RhostM--
             sAuthentication because it is not secure (see
             RhostsRSAAuthentication).  The argument to this key-
word must be
             ``yes'' or ``no''.  The default  is  ``yes''.   This
option applies
             to protocol version 1 only.

     RhostsRSAAuthentication
             Specifies whether to try rhosts based authentication
with RSA
             host authentication.  The argument must  be  ``yes''
or ``no''.
             The default is ``yes''.  This option applies to pro-
tocol version
             1 only.

     RSAAuthentication
             Specifies whether to try  RSA  authentication.   The
argument to
             this keyword must be ``yes'' or ``no''.  RSA authen-
tication will
             only be attempted if the identity file exists, or an
authenticaM--
             tion  agent  is  running.   The  default is ``yes''.
Note that this
             option applies to protocol version 1 only.

     ChallengeResponseAuthentication
             Specifies whether to use challenge response  authen-
tication.  The
             argument  to this keyword must be ``yes'' or ``no''.
The default
             is ``yes''.

     SmartcardDevice
             Specifies which smartcard device to use.  The  argu-
ment to this
             keyword  is the device ssh should use to communicate
with a smartM--
             card used for storing the user's private RSA key. By
default, no
             device is specified and smartcard support is not ac-
tivated.
             the user to manually add all  new  hosts.   If  this
flag is set to
             ``no'',  ssh will automatically add new host keys to
the user
             known hosts files.  If this flag is set to  ``ask'',
new host keys
             will  be added to the user known host files only af-
ter the user
             has confirmed that is what they really want  to  do,
and ssh will
             refuse  to  connect  to  hosts  whose  host  key has
changed.  The host
             keys of known hosts will be  verified  automatically
in all cases.
             The  argument  must  be  ``yes'', ``no'' or ``ask''.
The default is
             ``ask''.

     UsePrivilegedPort
             Specifies whether to use a privileged port for  out-
going connecM--
             tions.  The argument must be ``yes'' or ``no''.  The
default is
             ``no''.  Note  that  this  option  must  be  set  to
``yes'' if
             RhostsAuthentication and RhostsRSAAuthentication au-
thentications
             are needed with older servers.

     User    Specifies the user to log in as.  This can be useful
when a difM--
             ferent  user  name  is  used  on different machines.
This saves the
             trouble of having to remember to give the user  name
on the comM--
             mand line.

     UserKnownHostsFile
             Specifies  a file to use for the user host key data-
base instead of
             $HOME/.ssh/known_hosts.

     UseRsh  Specifies that rlogin/rsh should be  used  for  this
host.  It is
             possible  that  the host does not at all support the
ssh protocol.
             This causes ssh to immediately execute rsh(1).   All
other options
             (except HostName) are ignored if this has been spec-
ified.  The
             argument must be ``yes'' or ``no''.

where the shell
             runs, and n is an integer >= 1.  ssh uses this  spe-
cial value to
             forward  X11  connections  over  the secure channel.
The user should
             normally not set DISPLAY explicitly,  as  that  will
render the X11
             connection  insecure  (and  will require the user to
manually copy
             any required authorization cookies).

     HOME    Set to the path of the user's home directory.

     LOGNAME
             Synonym for USER; set for compatibility with systems
that use
             this variable.

     MAIL    Set to the path of the user's mailbox.

     PATH    Set to the default PATH, as specified when compiling
ssh.

     SSH_ASKPASS
             If  ssh  needs  a  passphrase,  it  will  read   the
passphrase from the
             current  terminal if it was run from a terminal.  If
ssh does not
             have a terminal associated with it but  DISPLAY  and
SSH_ASKPASS
             are  set,  it  will execute the program specified by
SSH_ASKPASS and
             open an X11 window to read the passphrase.  This  is
particularly
             useful  when calling ssh from a .Xsession or related
script.
             (Note that on some machines it may be  necessary  to
redirect the
             input from /dev/null to make this work.)

     SSH_AUTH_SOCK
             Identifies  the path of a unix-domain socket used to
communicate
             with the agent.

     SSH_CLIENT
             Identifies the client end of  the  connection.   The
variable conM--
             tains  three  space-separated  values: client ip-ad-
dress, client
             port number, and server port number.

     TZ      The timezone variable is set to indicate the present
timezone if
             it  was  set  when the daemon was started (i.e., the
daemon passes
             the value on to new connections).

     USER    Set to the name of the user logging in.

     Additionally, ssh  reads  $HOME/.ssh/environment,  and  adds
lines of the
     format ``VARNAME=value'' to the environment.

FILES
     $HOME/.ssh/known_hosts
             Records  host keys for all hosts the user has logged
into that are
             not in /etc/ssh/ssh_known_hosts.  See sshd(8).

     $HOME/.ssh/identity, $HOME/.ssh/id_dsa, $HOME/.ssh/id_rsa
             Contains the authentication identity  of  the  user.
They are for
             protocol  1 RSA, protocol 2 DSA, and protocol 2 RSA,
respectively.
             These files contain sensitive  data  and  should  be
readable by the
             user  but  not accessible by others (read/write/exe-
cute).  Note
             that ssh ignores a private key file if it is  acces-
sible by othM--
             ers.   It  is  possible to specify a passphrase when
generating the
             key; the passphrase will be used to encrypt the sen-
sitive part of
             this file using 3DES.

     $HOME/.ssh/identity.pub,              $HOME/.ssh/id_dsa.pub,
$HOME/.ssh/id_rsa.pub
             Contains the public key for  authentication  (public
part of the
             identity file in human-readable form).  The contents
of the
             $HOME/.ssh/identity.pub file should be added to
             $HOME/.ssh/authorized_keys on all machines where the
user wishes
             to  log  in using protocol version 1 RSA authentica-
tion.  The conM--
             tents    of    the     $HOME/.ssh/id_dsa.pub     and
$HOME/.ssh/id_rsa.pub file
             should be added to $HOME/.ssh/authorized_keys on all
machines
             where the user wishes to log in using protocol  ver-
sion 2 DSA/RSA
tion, but the
             recommended permissions are read/write for the user,
and not
             accessible by others.

     $HOME/.ssh/authorized_keys
             Lists the public keys (RSA/DSA) that can be used for
logging in
             as  this user.  The format of this file is described
in the
             sshd(8) manual page.  In the simplest form the  for-
mat is the same
             as the .pub identity files.  This file is not highly
sensitive,
             but the recommended permissions are  read/write  for
the user, and
             not accessible by others.

     /etc/ssh/ssh_known_hosts
             Systemwide  list  of  known  host  keys.   This file
should be prepared
             by the system administrator to  contain  the  public
host keys of
             all  machines in the organization.  This file should
be world-
             readable.  This file contains public keys,  one  per
line, in the
             following  format (fields separated by spaces): sys-
tem name, pubM--
             lic key and optional comment field.  When  different
names are
             used  for the same machine, all such names should be
listed, sepaM--
             rated by commas.  The format  is  described  on  the
sshd(8) manual
             page.

             The  canonical  system  name  (as  returned  by name
servers) is used
             by sshd(8) to verify the client  host  when  logging
in; other names
             are  needed  because  ssh does not convert the user-
supplied name to
             a canonical name before checking  the  key,  because
someone with
             access  to  the  name  servers would then be able to
fool host
             authentication.

     /etc/ssh/ssh_config
             Systemwide configuration file.  This  file  provides
defaults for
             these authentication methods are desired.

     $HOME/.rhosts
             This file is used in .rhosts authentication to  list
the host/user
             pairs that are permitted to log in.  (Note that this
file is also
             used by rlogin and rsh, which makes using this  file
insecure.)
             Each  line  of the file contains a host name (in the
canonical form
             returned by name servers), and then a user  name  on
that host,
             separated  by  a  space.  On some machines this file
may need to be
             world-readable if the user's home directory is on  a
NFS partiM--
             tion, because sshd(8) reads it as root.  Additional-
ly, this file
             must be owned by the user, and must not  have  write
permissions
             for  anyone  else.   The  recommended permission for
most machines is
             read/write for the user, and not accessible by  oth-
ers.

             Note  that  by  default sshd(8) will be installed so
that it
             requires successful RSA host  authentication  before
permitting
             .rhosts  authentication.  If the server machine does
not have the
             client's host key  in  /etc/ssh/ssh_known_hosts,  it
can be stored
             in  $HOME/.ssh/known_hosts.   The  easiest way to do
this is to conM--
             nect back to the client from the server machine  us-
ing ssh; this
             will    automatically    add   the   host   key   to
$HOME/.ssh/known_hosts.

     $HOME/.shosts
             This file is used exactly the same way  as  .rhosts.
The purpose
             for having this file is to be able to use rhosts au-
thentication
             with ssh without permitting login with rlogin(1)  or
rsh(1).

     /etc/hosts.equiv
             This  file is used during .rhosts authentication. It
contains
This file
             may be useful to permit logins using ssh but not us-
ing
             rsh/rlogin.

     /etc/ssh/sshrc
             Commands  in  this file are executed by ssh when the
user logs in
             just before the user's shell (or command) is  start-
ed.  See the
             sshd(8) manual page for more information.

     $HOME/.ssh/rc
             Commands  in  this file are executed by ssh when the
user logs in
             just before the user's shell (or command) is  start-
ed.  See the
             sshd(8) manual page for more information.

     $HOME/.ssh/environment
             Contains   additional  definitions  for  environment
variables, see
             section ENVIRONMENT above.

DIAGNOSTICS
     ssh exits with the exit status of the remote command or with
255 if an
     error occurred.

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
     rlogin(1),   rsh(1),   scp(1),   sftp(1),  ssh-add(1),  ssh-
agent(1),
     ssh-keygen(1), telnet(1), sshd(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.

BSD                                September       25,       1999

Man(1) output converted with man2html