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--
     tion 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_known_hosts is automatically checked for known
hosts.  Any
     new hosts are automatically added to the user's file.  If  a
host's idenM--
     tification  ever  changes, ssh warns about this and disables
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.

             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
             Can be used to give options in the  format  used  in
             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.  Only fatal errors are displayed.

     -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
             below).  Compression is desirable on modem lines and
             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
application
     -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_config).   For  each parameter, the first obtained
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
used to proM--
     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''

     ClearAllForwardings
             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).

             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_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
the real host
             permitted  (both on the command line and in HostName
specificaM--
             tions).

     IdentityFile
             Specifies the file from which the user's RSA or  DSA
authenticaM--
             tion  identity  is read (default $HOME/.ssh/identity
in the user's
             home directory).  Additionally, any identities  rep-
resented 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 keepalive
messages to
             the other side.  If they are sent, death of the con-
nection 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'' in both
             the server and the client configuration files.

     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.
             This  will only work if the Kerberos server is actu-
ally an AFS
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, VERBOSE
             and DEBUG.  The default is INFO.

     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.
The argument
             to  this keyword must be ``yes'' or ``no''.  The de-
fault is
             ``yes''.

     Port    Specifies the port number to connect on  the  remote
     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
port from the
             local machine.  The first argument must  be  a  port
number, and the
             second  must  be  host:port.   IPv6 addresses can be
specified with
             an alternative syntax: host/port.  Multiple forward-

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.

     StrictHostKeyChecking
             If this flag is set to ``yes'', ssh will never auto-
matically add
             host keys to the  $HOME/.ssh/known_hosts  file,  and
refuses to conM--
             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''.

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

ENVIRONMENT
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.

     SSH_ORIGINAL_COMMAND
             The variable contains the original command line if a
forced comM--
             mand is executed.  It can be  used  to  extract  the
original arguM--
             ments.

     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_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
             authentication.  These files are not  sensitive  and
can (but need
             not)  be  readable by anyone.  These files are never
used automatiM--
             cally and are not necessary; they are only  provided
for the conM--
             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_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_config
             Systemwide  configuration  file.  This file provides
defaults for
             those values that are not specified  in  the  user's
configuration
             file, and for those users who do not have a configu-
ration file.
             This file must be world-readable.

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_known_hosts, it can be
stored in
             $HOME/.ssh/known_hosts.   The easiest way to do this
is to connect
             back to the client from  the  server  machine  using
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
             canonical hosts names, one per line (the full format
is described
             on  the sshd(8) manual page).  If the client host is
found in this
             file,  login  is  automatically  permitted  provided
client and server
             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.

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
BSD











Man(1) output converted with man2html