]> andersk Git - openssh.git/blob - ssh-keygen.1
Hopefully things did not get mixed around too much. It compiles under
[openssh.git] / ssh-keygen.1
1 .\"  -*- nroff -*-
2 .\"
3 .\" Author: Tatu Ylonen <ylo@cs.hut.fi>
4 .\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
5 .\"                    All rights reserved
6 .\"
7 .\" As far as I am concerned, the code I have written for this software
8 .\" can be used freely for any purpose.  Any derived versions of this
9 .\" software must be clearly marked as such, and if the derived work is
10 .\" incompatible with the protocol description in the RFC file, it must be
11 .\" called by a name other than "ssh" or "Secure Shell".
12 .\"
13 .\"
14 .\" Copyright (c) 1999,2000 Markus Friedl. All rights reserved.
15 .\" Copyright (c) 1999 Aaron Campbell. All rights reserved.
16 .\" Copyright (c) 1999 Theo de Raadt. All rights reserved.
17 .\"
18 .\" Redistribution and use in source and binary forms, with or without
19 .\" modification, are permitted provided that the following conditions
20 .\" are met:
21 .\" 1. Redistributions of source code must retain the above copyright
22 .\"    notice, this list of conditions and the following disclaimer.
23 .\" 2. Redistributions in binary form must reproduce the above copyright
24 .\"    notice, this list of conditions and the following disclaimer in the
25 .\"    documentation and/or other materials provided with the distribution.
26 .\"
27 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
28 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
29 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
30 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
31 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
32 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
36 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 .\"
38 .Dd September 25, 1999
39 .Dt SSH-KEYGEN 1
40 .Os
41 .Sh NAME
42 .Nm ssh-keygen
43 .Nd authentication key generation
44 .Sh SYNOPSIS
45 .Nm ssh-keygen
46 .Op Fl q
47 .Op Fl b Ar bits
48 .Op Fl t Ar type
49 .Op Fl N Ar new_passphrase
50 .Op Fl C Ar comment
51 .Op Fl f Ar output_keyfile
52 .Nm ssh-keygen
53 .Fl p
54 .Op Fl P Ar old_passphrase
55 .Op Fl N Ar new_passphrase
56 .Op Fl f Ar keyfile
57 .Nm ssh-keygen
58 .Fl x
59 .Op Fl f Ar input_keyfile
60 .Nm ssh-keygen
61 .Fl X
62 .Op Fl f Ar input_keyfile
63 .Nm ssh-keygen
64 .Fl y
65 .Op Fl f Ar input_keyfile
66 .Nm ssh-keygen
67 .Fl c
68 .Op Fl P Ar passphrase
69 .Op Fl C Ar comment
70 .Op Fl f Ar keyfile
71 .Nm ssh-keygen
72 .Fl l
73 .Op Fl f Ar input_keyfile
74 .Sh DESCRIPTION
75 .Nm
76 generates and manages authentication keys for
77 .Xr ssh 1 .
78 .Nm
79 defaults to generating an RSA key for use by protocols 1.3 and 1.5;
80 specifying the
81 .Fl t
82 option allows you to create a key for use by protocol 2.0.
83 .Pp
84 Normally each user wishing to use SSH
85 with RSA or DSA authentication runs this once to create the authentication
86 key in
87 .Pa $HOME/.ssh/identity
88 or
89 .Pa $HOME/.ssh/id_dsa .
90 Additionally, the system administrator may use this to generate host keys,
91 as seen in
92 .Pa /etc/rc .
93 .Pp
94 Normally this program generates the key and asks for a file in which
95 to store the private key.
96 The public key is stored in a file with the same name but
97 .Dq .pub
98 appended.
99 The program also asks for a passphrase.
100 The passphrase may be empty to indicate no passphrase
101 (host keys must have an empty passphrase), or it may be a string of
102 arbitrary length.
103 Good passphrases are 10-30 characters long and are
104 not simple sentences or otherwise easily guessable (English
105 prose has only 1-2 bits of entropy per word, and provides very bad
106 passphrases).
107 The passphrase can be changed later by using the
108 .Fl p
109 option.
110 .Pp
111 There is no way to recover a lost passphrase.
112 If the passphrase is
113 lost or forgotten, you will have to generate a new key and copy the
114 corresponding public key to other machines.
115 .Pp
116 For RSA, there is also a comment field in the key file that is only for
117 convenience to the user to help identify the key.
118 The comment can tell what the key is for, or whatever is useful.
119 The comment is initialized to
120 .Dq user@host
121 when the key is created, but can be changed using the
122 .Fl c
123 option.
124 .Pp
125 After a key is generated, instructions below detail where the keys
126 should be placed to be activated.
127 .Pp
128 The options are as follows:
129 .Bl -tag -width Ds
130 .It Fl b Ar bits
131 Specifies the number of bits in the key to create.
132 Minimum is 512 bits.
133 Generally 1024 bits is considered sufficient, and key sizes
134 above that no longer improve security but make things slower.
135 The default is 1024 bits.
136 .It Fl c
137 Requests changing the comment in the private and public key files.
138 The program will prompt for the file containing the private keys, for
139 passphrase if the key has one, and for the new comment.
140 .It Fl f
141 Specifies the filename of the key file.
142 .It Fl l
143 Show fingerprint of specified private or public key file.
144 .It Fl p
145 Requests changing the passphrase of a private key file instead of
146 creating a new private key.
147 The program will prompt for the file
148 containing the private key, for the old passphrase, and twice for the
149 new passphrase.
150 .It Fl q
151 Silence
152 .Nm ssh-keygen .
153 Used by
154 .Pa /etc/rc
155 when creating a new key.
156 .It Fl t Ar type
157 Specifies the type of the key to create.
158 The possible values are
159 .Dq rsa1
160 for protocol version 1 and
161 .Dq rsa
162 or
163 .Dq dsa
164 for protocol version 2.
165 The default is
166 .Dq rsa .
167 .It Fl C Ar comment
168 Provides the new comment.
169 .It Fl N Ar new_passphrase
170 Provides the new passphrase.
171 .It Fl P Ar passphrase
172 Provides the (old) passphrase.
173 .It Fl x
174 This option will read a private
175 OpenSSH DSA format file and print a SSH2-compatible public key to stdout.
176 .It Fl X
177 This option will read a unencrypted
178 SSH2-compatible private (or public) key file and
179 print an OpenSSH compatible private (or public) key to stdout.
180 .It Fl y
181 This option will read a private
182 OpenSSH format file and print an OpenSSH public key to stdout.
183 .El
184 .Sh FILES
185 .Bl -tag -width Ds
186 .It Pa $HOME/.ssh/identity
187 Contains the RSA authentication identity of the user.
188 This file should not be readable by anyone but the user.
189 It is possible to
190 specify a passphrase when generating the key; that passphrase will be
191 used to encrypt the private part of this file using 3DES.
192 This file is not automatically accessed by
193 .Nm
194 but it is offered as the default file for the private key.
195 .Xr sshd 8
196 will read this file when a login attempt is made.
197 .It Pa $HOME/.ssh/identity.pub
198 Contains the public key for authentication.
199 The contents of this file should be added to
200 .Pa $HOME/.ssh/authorized_keys
201 on all machines
202 where you wish to log in using RSA authentication.
203 There is no need to keep the contents of this file secret.
204 .It Pa $HOME/.ssh/id_dsa
205 Contains the DSA authentication identity of the user.
206 This file should not be readable by anyone but the user.
207 It is possible to
208 specify a passphrase when generating the key; that passphrase will be
209 used to encrypt the private part of this file using 3DES.
210 This file is not automatically accessed by
211 .Nm
212 but it is offered as the default file for the private key.
213 .Xr sshd 8
214 will read this file when a login attempt is made.
215 .It Pa $HOME/.ssh/id_dsa.pub
216 Contains the public key for authentication.
217 The contents of this file should be added to
218 .Pa $HOME/.ssh/authorized_keys2
219 on all machines
220 where you wish to log in using public key authentication.
221 There is no need to keep the contents of this file secret.
222 .El
223 .Sh AUTHORS
224 Tatu Ylonen <ylo@cs.hut.fi>
225 .Pp
226 OpenSSH
227 is a derivative of the original (free) ssh 1.2.12 release, but with bugs
228 removed and newer features re-added.
229 Rapidly after the 1.2.12 release,
230 newer versions bore successively more restrictive licenses.
231 This version of OpenSSH
232 .Bl -bullet
233 .It
234 has all components of a restrictive nature (i.e., patents, see
235 .Xr crypto 3 )
236 directly removed from the source code; any licensed or patented components
237 are chosen from
238 external libraries.
239 .It
240 has been updated to support ssh protocol 1.5.
241 .It
242 contains added support for
243 .Xr kerberos 8
244 authentication and ticket passing.
245 .It
246 supports one-time password authentication with
247 .Xr skey 1 .
248 .El
249 .Sh SEE ALSO
250 .Xr ssh 1 ,
251 .Xr ssh-add 1 ,
252 .Xr ssh-agent 1 ,
253 .Xr sshd 8 ,
254 .Xr crypto 3
This page took 0.435272 seconds and 5 git commands to generate.