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 -F hostname [-f known_hosts_file]
     ssh-keygen -H [-f known_hosts_file]
     ssh-keygen -R hostname [-f known_hosts_file]
     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 ~/.ssh/identi-
ty,
     ~/.ssh/id_dsa or ~/.ssh/id_rsa.   Additionally,  the  system
administrator
     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
     contain  a  mix of upper and lowercase letters, numbers, and
non-alphanu-
     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      Show the bubblebabble digest of specified private or
public key
             file.

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

     -C comment
             Provides a new comment.

     -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
             SSH implementations.

     -F hostname
             Search for the specified hostname in  a  known_hosts
file, listing
             any  occurrences  found.   This  option is useful to
find hashed host
             names or addresses and may also be used in  conjunc-
tion with the
             -H option to print found keys in a hashed format.

     -f filename
             Specifies the filename of the key file.

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

     -g      Use generic DNS format when printing fingerprint re-
source records
             using the -r command.

     -H      Hash a known_hosts file.  This  replaces  all  host-
names and ad-
             dresses with hashed representations within the spec-
ified file;
             the original content is moved to a file with a  .old
suffix.
             These  hashes  may be used normally by ssh and sshd,
but they do
             not reveal identifying information should the file's
contents be
             disclosed.   This  option  will  not modify existing
hashed hostnames
             and is therefore safe  to  use  on  files  that  mix
hashed and non-
             hashed names.

     -i       This  option  will  read an unencrypted private (or
public) key file
             in SSH2-compatible format and print an OpenSSH  com-
patible private
             (or  public)  key  to stdout.  ssh-keygen also reads
the `SECSH
             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
             Provides the (old) passphrase.

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

     -R hostname
             Removes  all  keys  belonging  to  hostname  from  a
known_hosts file.
             This option is useful to delete  hashed  hosts  (see
the -H option
             above).

     -r hostname
             Print  the  SSHFP  fingerprint resource record named
hostname for
             the specified public key file.

     -S start
             Specify start point (in hex) when generating  candi-
date moduli for
             DH-GEX.

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

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

     -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
     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
     suitability.  This may be performed using the -T option.  In
this mode
     ssh-keygen will read candidates from standard  input  (or  a
file specified
     using the -f option).  For example:

           # ssh-keygen -T moduli-2048 -f moduli-2048.candidates

     By default, each candidate will be subjected to 100 primali-
ty tests.
     This may be overridden using the -a option.  The DH  genera-
tor value will
     be  chosen  automatically for the prime under consideration.
If a specific
     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
     ~/.ssh/identity
             Contains  the  protocol version 1 RSA authentication
identity of
             the user.  This file should not be readable by  any-

authentica-
             tion.  The contents of this file should be added to
             ~/.ssh/authorized_keys on all machines where the us-
er wishes to
             log in using RSA authentication.  There is  no  need
to keep the
             contents of this file secret.

     ~/.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.

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

     ~/.ssh/id_rsa
             Contains  the  protocol version 2 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.

     ~/.ssh/id_rsa.pub
             Contains the protocol version 2 RSA public  key  for

     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.8                       September     25,      1999
5

































Man(1) output converted with man2html