version 1.55, 2002/11/26 02:35:30 |
version 1.55.2.2, 2003/09/16 20:50:44 |
|
|
.Nd authentication key generation, management and conversion |
.Nd authentication key generation, management and conversion |
.Sh SYNOPSIS |
.Sh SYNOPSIS |
.Nm ssh-keygen |
.Nm ssh-keygen |
|
.Bk -words |
.Op Fl q |
.Op Fl q |
.Op Fl b Ar bits |
.Op Fl b Ar bits |
.Fl t Ar type |
.Fl t Ar type |
.Op Fl N Ar new_passphrase |
.Op Fl N Ar new_passphrase |
.Op Fl C Ar comment |
.Op Fl C Ar comment |
.Op Fl f Ar output_keyfile |
.Op Fl f Ar output_keyfile |
|
.Ek |
.Nm ssh-keygen |
.Nm ssh-keygen |
.Fl p |
.Fl p |
.Op Fl P Ar old_passphrase |
.Op Fl P Ar old_passphrase |
|
|
.Nm ssh-keygen |
.Nm ssh-keygen |
.Fl U Ar reader |
.Fl U Ar reader |
.Op Fl f Ar input_keyfile |
.Op Fl f Ar input_keyfile |
|
.Nm ssh-keygen |
|
.Fl r Ar hostname |
|
.Op Fl f Ar input_keyfile |
|
.Op Fl g |
|
.Nm ssh-keygen |
|
.Fl G Ar output_file |
|
.Op Fl b Ar bits |
|
.Op Fl M Ar memory |
|
.Op Fl S Ar start_point |
|
.Nm ssh-keygen |
|
.Fl T Ar output_file |
|
.Fl f Ar input_file |
|
.Op Fl a Ar num_trials |
|
.Op Fl W Ar generator |
.Sh DESCRIPTION |
.Sh DESCRIPTION |
.Nm |
.Nm |
generates, manages and converts authentication keys for |
generates, manages and converts authentication keys for |
.Xr ssh 1 . |
.Xr ssh 1 . |
.Nm |
.Nm |
can create RSA keys for use by SSH protocol version 1 and RSA or DSA |
can create RSA keys for use by SSH protocol version 1 and RSA or DSA |
keys for use by SSH protocol version 2. The type of key to be generated |
keys for use by SSH protocol version 2. |
is specified with the |
The type of key to be generated is specified with the |
.Fl t |
.Fl t |
option. |
option. |
.Pp |
.Pp |
|
.Nm |
|
is also used to generate groups for use in Diffie-Hellman group |
|
exchange (DH-GEX). |
|
See the |
|
.Sx MODULI GENERATION |
|
section for details. |
|
.Pp |
Normally each user wishing to use SSH |
Normally each user wishing to use SSH |
with RSA or DSA authentication runs this once to create the authentication |
with RSA or DSA authentication runs this once to create the authentication |
key in |
key in |
|
|
.Pp |
.Pp |
The options are as follows: |
The options are as follows: |
.Bl -tag -width Ds |
.Bl -tag -width Ds |
|
.It Fl a Ar trials |
|
Specifies the number of primality tests to perform when screening DH-GEX |
|
candidates using the |
|
.Fl T |
|
command. |
.It Fl b Ar bits |
.It Fl b Ar bits |
Specifies the number of bits in the key to create. |
Specifies the number of bits in the key to create. |
Minimum is 512 bits. |
Minimum is 512 bits. |
|
|
to stdout. |
to stdout. |
This option allows exporting keys for use by several commercial |
This option allows exporting keys for use by several commercial |
SSH implementations. |
SSH implementations. |
|
.It Fl g |
|
Use generic DNS resource record format. |
.It Fl f Ar filename |
.It Fl f Ar filename |
Specifies the filename of the key file. |
Specifies the filename of the key file. |
.It Fl i |
.It Fl i |
|
|
.It Fl D Ar reader |
.It Fl D Ar reader |
Download the RSA public key stored in the smartcard in |
Download the RSA public key stored in the smartcard in |
.Ar reader . |
.Ar reader . |
|
.It Fl G Ar output_file |
|
Generate candidate primes for DH-GEX. |
|
These primes must be screened for |
|
safety (using the |
|
.Fl T |
|
option) before use. |
|
.It Fl M Ar memory |
|
Specify the amount of memory to use (in megabytes) when generating |
|
candidate moduli for DH-GEX. |
.It Fl N Ar new_passphrase |
.It Fl N Ar new_passphrase |
Provides the new passphrase. |
Provides the new passphrase. |
.It Fl P Ar passphrase |
.It Fl P Ar passphrase |
Provides the (old) passphrase. |
Provides the (old) passphrase. |
|
.It Fl S Ar start |
|
Specify start point (in hex) when generating candidate moduli for DH-GEX. |
|
.It Fl T Ar output_file |
|
Test DH group exchange candidate primes (generated using the |
|
.Fl G |
|
option) for safety. |
|
.It Fl W Ar generator |
|
Specify desired generator when testing candidate moduli for DH-GEX. |
.It Fl U Ar reader |
.It Fl U Ar reader |
Upload an existing RSA private key into the smartcard in |
Upload an existing RSA private key into the smartcard in |
.Ar reader . |
.Ar reader . |
|
.It Fl r Ar hostname |
|
Print DNS resource record with the specified |
|
.Ar hostname . |
.El |
.El |
|
.Sh MODULI GENERATION |
|
.Nm |
|
may be used to generate groups for the Diffie-Hellman Group Exchange |
|
(DH-GEX) protocol. |
|
Generating these groups is a two-step process: first, candidate |
|
primes are generated using a fast, but memory intensive process. |
|
These candidate primes are then tested for suitability (a CPU-intensive |
|
process). |
|
.Pp |
|
Generation of primes is performed using the |
|
.Fl G |
|
option. |
|
The desired length of the primes may be specified by the |
|
.Fl b |
|
option. |
|
For example: |
|
.Pp |
|
.Dl ssh-keygen -G moduli-2048.candidates -b 2048 |
|
.Pp |
|
By default, the search for primes begins at a random point in the |
|
desired length range. |
|
This may be overridden using the |
|
.Fl S |
|
option, which specifies a different start point (in hex). |
|
.Pp |
|
Once a set of candidates have been generated, they must be tested for |
|
suitability. |
|
This may be performed using the |
|
.Fl T |
|
option. |
|
In this mode |
|
.Nm |
|
will read candidates from standard input (or a file specified using the |
|
.Fl f |
|
option). |
|
For example: |
|
.Pp |
|
.Dl ssh-keygen -T moduli-2048 -f moduli-2048.candidates |
|
.Pp |
|
By default, each candidate will be subjected to 100 primality tests. |
|
This may be overridden using the |
|
.Fl a |
|
option. |
|
The DH generator value will be chosen automatically for the |
|
prime under consideration. |
|
If a specific generator is desired, it may be requested using the |
|
.Fl W |
|
option. |
|
Valid generator values are 2, 3 and 5. |
|
.Pp |
|
Screened DH groups may be installed in |
|
.Pa /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. |
.Sh FILES |
.Sh FILES |
.Bl -tag -width Ds |
.Bl -tag -width Ds |
.It Pa $HOME/.ssh/identity |
.It Pa $HOME/.ssh/identity |
|
|
on all machines |
on all machines |
where the user wishes to log in using public key authentication. |
where the user wishes to log in using public key authentication. |
There is no need to keep the contents of this file secret. |
There is no need to keep the contents of this file secret. |
|
.It Pa /etc/moduli |
|
Contains Diffie-Hellman groups used for DH-GEX. |
|
The file format is described in |
|
.Xr moduli 5 . |
.El |
.El |
.Sh 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 features and |
|
created OpenSSH. |
|
Markus Friedl contributed the support for SSH |
|
protocol versions 1.5 and 2.0. |
|
.Sh SEE ALSO |
.Sh SEE ALSO |
.Xr ssh 1 , |
.Xr ssh 1 , |
.Xr ssh-add 1 , |
.Xr ssh-add 1 , |
.Xr ssh-agent 1 , |
.Xr ssh-agent 1 , |
|
.Xr moduli 5 , |
.Xr sshd 8 |
.Xr sshd 8 |
.Rs |
.Rs |
.%A J. Galbraith |
.%A J. Galbraith |
|
|
.%D March 2001 |
.%D March 2001 |
.%O work in progress material |
.%O work in progress material |
.Re |
.Re |
|
.Sh 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 features and |
|
created OpenSSH. |
|
Markus Friedl contributed the support for SSH |
|
protocol versions 1.5 and 2.0. |