Google


SYNOPSIS
     ssh-keygen  [-q]  [-b  bits] -t type [-N new_passphrase] [-C
comment]
                [-f output_keyfile]
     ssh-keygen -p [-P old_passphrase]  [-N  new_passphrase]  [-f
keyfile]
     ssh-keygen -i [-f input_keyfile]
     ssh-keygen -e [-f input_keyfile]
     ssh-keygen -y [-f input_keyfile]
     ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]
     ssh-keygen -l [-f input_keyfile]
     ssh-keygen -B [-f input_keyfile]
     ssh-keygen -D reader
     ssh-keygen -U reader [-f input_keyfile]
     ssh-keygen -r hostname [-f input_keyfile] [-g]
     ssh-keygen  -G  output_file  [-v]  [-b bits] [-M memory] [-S
start_point]
     ssh-keygen -T output_file -f input_file [-v] [-a num_trials]
[-W
                generator]

DESCRIPTION
     ssh-keygen  generates,  manages  and converts authentication
keys for
     ssh(1).  ssh-keygen can create RSA keys for use by SSH  pro-
tocol version 1
     and  RSA or DSA keys for use by SSH protocol version 2.  The
type of key
     to be generated is specified with the -t option.

     ssh-keygen is also  used  to  generate  groups  for  use  in
Diffie-Hellman
     group  exchange (DH-GEX).  See the MODULI GENERATION section
for details.

     Normally each user wishing to use SSH with RSA  or  DSA  au-
thentication runs
     this    once   to   create   the   authentication   key   in
$HOME/.ssh/identity,
     $HOME/.ssh/id_dsa or $HOME/.ssh/id_rsa.   Additionally,  the
system admin-
     istrator  may  use  this  to  generate host keys, as seen in
/etc/rc.

     Normally this program generates the key and asks for a  file
in which to
     store  the  private key.  The public key is stored in a file
with the same
     name but ``.pub'' appended.  The program  also  asks  for  a
passphrase.  The
     passphrase may be empty to indicate no passphrase (host keys
must have an
     meric  characters.   The  passphrase can be changed later by
using the -p
     option.

     There is no way  to  recover  a  lost  passphrase.   If  the
passphrase is lost
     or  forgotten, a new key must be generated and copied to the
corresponding
     public key to other machines.

     For RSA1 keys, there is also a comment field in the key file
that is only
     for  convenience  to the user to help identify the key.  The
comment can
     tell what the key is for, or whatever is useful.   The  com-
ment is initial-
     ized  to  ``user@host''  when the key is created, but can be
changed using
     the -c option.

     After a key is generated, instructions  below  detail  where
the keys should
     be placed to be activated.

     The options are as follows:

     -a trials
             Specifies  the  number of primality tests to perform
when screening
             DH-GEX candidates using the -T command.

     -b bits
             Specifies the number of bits in the key  to  create.
Minimum is
             512 bits.  Generally, 1024 bits is considered suffi-
cient.  The
             default is 1024 bits.

     -c      Requests changing the comment  in  the  private  and
public key
             files.   This  operation  is only supported for RSA1
keys.  The pro-
             gram will prompt for the file containing the private
keys, for
             the  passphrase  if the key has one, and for the new
comment.

     -e      This option will read a private  or  public  OpenSSH
key file and
             print the key in a `SECSH Public Key File Format' to
stdout.
             This option allows exporting keys for use by several
             Public Key File Format'.  This option allows import-
ing keys from
             several commercial SSH implementations.

     -l      Show fingerprint of specified public key file.  Pri-
vate RSA1 keys
             are also supported.  For RSA and DSA keys ssh-keygen
tries to
             find  the  matching  public  key file and prints its
fingerprint.

     -p      Requests changing the passphrase of  a  private  key
file instead of
             creating a new private key.  The program will prompt
for the file
             containing the private key, for the old  passphrase,
and twice for
             the new passphrase.

     -q      Silence ssh-keygen.  Used by /etc/rc when creating a
new key.

     -y      This option will read a private OpenSSH format  file
and print an
             OpenSSH public key to stdout.

     -t type
             Specifies the type of the key to create.  The possi-
ble values are
             ``rsa1'' for  protocol  version  1  and  ``rsa''  or
``dsa'' for proto-
             col version 2.

     -B      Show the bubblebabble digest of specified private or
public key
             file.

     -C comment
             Provides the new comment.

     -D reader
             Download the RSA public key stored in the  smartcard
in reader.

     -G output_file
             Generate  candidate primes for DH-GEX.  These primes
must be
             screened for safety (using  the  -T  option)  before
use.

     -M memory
             Specify  the  amount of memory to use (in megabytes)

     -T output_file
             Test  DH  group exchange candidate primes (generated
using the -G
             option) for safety.

     -W generator
             Specify desired  generator  when  testing  candidate
moduli for DH-
             GEX.

     -U reader
             Upload  an  existing RSA private key into the smart-
card in reader.

     -v      Verbose mode.  Causes ssh-keygen to print  debugging
messages
             about  its  progress.  This is helpful for debugging
moduli genera-
             tion.  Multiple -v options increase  the  verbosity.
The maximum
             is 3.

     -r hostname
             Print  DNS  resource record with the specified host-
name.

MODULI GENERATION
     ssh-keygen may be used to generate groups  for  the  Diffie-
Hellman Group
     Exchange  (DH-GEX)  protocol.   Generating these groups is a
two-step pro-
     cess: first, candidate primes are generated  using  a  fast,
but memory in-
     tensive process.  These candidate primes are then tested for
suitability
     (a CPU-intensive process).

     Generation of primes is performed using the -G option.   The
desired
     length of the primes may be specified by the -b option.  For
example:

           ssh-keygen -G moduli-2048.candidates -b 2048

     By default, the search for primes begins at a  random  point
in the desired
     length  range.   This may be overridden using the -S option,
which speci-
     fies a different start point (in hex).

     Once a set of candidates have been generated, they  must  be
tested for
     generator is desired, it may be requested using the  -W  op-
tion.  Valid
     generator values are 2, 3 and 5.

     Screened  DH  groups may be installed in /etc/moduli.  It is
important that
     this file contains moduli of a range of bit lengths and that
both ends of
     a connection share common moduli.

FILES
     $HOME/.ssh/identity
             Contains  the  protocol version 1 RSA authentication
identity of
             the user.  This file should not be readable by  any-
one but the us-
             er.   It  is  possible  to specify a passphrase when
generating the
             key; that passphrase will be  used  to  encrypt  the
private part of
             this file using 3DES.  This file is not automatical-
ly accessed by
             ssh-keygen but it is offered as the default file for
the private
             key.   ssh(1)  will  read this file when a login at-
tempt is made.

     $HOME/.ssh/identity.pub
             Contains the protocol version 1 RSA public  key  for
authentica-
             tion.  The contents of this file should be added to
             $HOME/.ssh/authorized_keys on all machines where the
user wishes
             to log in using RSA  authentication.   There  is  no
need to keep the
             contents of this file secret.

     $HOME/.ssh/id_dsa
             Contains  the  protocol version 2 DSA authentication
identity of
             the user.  This file should not be readable by  any-
one but the us-
             er.   It  is  possible  to specify a passphrase when
generating the
             key; that passphrase will be  used  to  encrypt  the
private part of
             this file using 3DES.  This file is not automatical-
ly accessed by
             ssh-keygen but it is offered as the default file for
the private
             key.   ssh(1)  will  read this file when a login at-
tempt is made.
             the user.  This file should not be readable by  any-
one but the us-
             er.   It  is  possible  to specify a passphrase when
generating the
             key; that passphrase will be  used  to  encrypt  the
private part of
             this file using 3DES.  This file is not automatical-
ly accessed by
             ssh-keygen but it is offered as the default file for
the private
             key.   ssh(1)  will  read this file when a login at-
tempt is made.

     $HOME/.ssh/id_rsa.pub
             Contains the protocol version 2 RSA public  key  for
authentica-
             tion.  The contents of this file should be added to
             $HOME/.ssh/authorized_keys on all machines where the
user wishes
             to log in using public key authentication.  There is
no need to
             keep the contents of this file secret.

     /etc/moduli
             Contains Diffie-Hellman groups used for DH-GEX.  The
file format
             is described in moduli(5).

SEE ALSO
     ssh(1), ssh-add(1), ssh-agent(1), moduli(5), sshd(8)

     J. Galbraith and R. Thayer, SECSH Public  Key  File  Format,
draft-ietf-
     secsh-publickeyfile-01.txt, March 2001, work in progress ma-
terial.

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
     created  OpenSSH.  Markus Friedl contributed the support for
SSH protocol
     versions 1.5 and 2.0.

OpenBSD     3.5                       September     25,      1999
4




Man(1) output converted with man2html