From 5a707825765ebab087abf6b79ff050b7021cf3b9 Mon Sep 17 00:00:00 2001 From: Ben Lindstrom Date: Sun, 22 Apr 2001 17:15:46 +0000 Subject: [PATCH] - markus@cvs.openbsd.org 2001/04/22 13:25:37 [ssh-keygen.1 ssh-keygen.c] rename arguments -x -> -e (export key), -X -> -i (import key) xref draft-ietf-secsh-publickeyfile-01.txt --- ChangeLog | 6 +++++- ssh-keygen.1 | 51 ++++++++++++++++++++++++++++++++++----------------- ssh-keygen.c | 10 +++++++--- 3 files changed, 46 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index fd7377d6f..6adcc31b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,10 @@ - markus@cvs.openbsd.org 2001/04/22 12:34:05 [scp.c] scp > 2GB; niles@scyld.com; ok deraadt@, djm@ + - markus@cvs.openbsd.org 2001/04/22 13:25:37 + [ssh-keygen.1 ssh-keygen.c] + rename arguments -x -> -e (export key), -X -> -i (import key) + xref draft-ietf-secsh-publickeyfile-01.txt 20010421 - OpenBSD CVS Sync @@ -5215,4 +5219,4 @@ - Wrote replacements for strlcpy and mkdtemp - Released 1.0pre1 -$Id: ChangeLog,v 1.1156 2001/04/22 17:13:20 mouring Exp $ +$Id: ChangeLog,v 1.1157 2001/04/22 17:15:46 mouring Exp $ diff --git a/ssh-keygen.1 b/ssh-keygen.1 index 6808ede69..55e31de9e 100644 --- a/ssh-keygen.1 +++ b/ssh-keygen.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keygen.1,v 1.36 2001/04/10 09:13:21 itojun Exp $ +.\" $OpenBSD: ssh-keygen.1,v 1.37 2001/04/22 13:25:37 markus Exp $ .\" .\" -*- nroff -*- .\" @@ -42,7 +42,7 @@ .Os .Sh NAME .Nm ssh-keygen -.Nd authentication key generation +.Nd authentication key generation, management and conversion .Sh SYNOPSIS .Nm ssh-keygen .Op Fl q @@ -57,10 +57,10 @@ .Op Fl N Ar new_passphrase .Op Fl f Ar keyfile .Nm ssh-keygen -.Fl x +.Fl i .Op Fl f Ar input_keyfile .Nm ssh-keygen -.Fl X +.Fl e .Op Fl f Ar input_keyfile .Nm ssh-keygen .Fl y @@ -78,10 +78,10 @@ .Op Fl f Ar input_keyfile .Sh DESCRIPTION .Nm -generates and manages authentication keys for +generates, manages and converts authentication keys for .Xr ssh 1 . .Nm -defaults to generating an RSA key for use by protocols 1.3 and 1.5; +defaults to generating a RSA1 key for use by protocols 1.3 and 1.5; specifying the .Fl t option allows you to create a key for use by protocol 2.0. @@ -119,7 +119,8 @@ If the passphrase is lost or forgotten, you will have to generate a new key and copy the corresponding public key to other machines. .Pp -For RSA, there is also a comment field in the key file that is only for +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 comment is initialized to @@ -143,8 +144,23 @@ The default is 1024 bits. Requests changing the comment in the private and public key files. The program will prompt for the file containing the private keys, for passphrase if the key has one, and for the new comment. +.It Fl e +This option will read a private OpenSSH key file and print the key in a +.Sq SECSH Public Key File Format +to stdout. +This option allows exporting keys for use by several commercial +SSH implementations. .It Fl f Specifies the filename of the key file. +.It Fl i +This option will read an unencrypted private (or public) key file +in SSH2-compatible format and print an OpenSSH compatible private +(or public) key to stdout. +.Nm +does also read the +.Sq SECSH Public Key File Format . +This option allows importing keys from several commercial +SSH implementations. .It Fl l Show fingerprint of specified private or public key file. .It Fl p @@ -159,6 +175,9 @@ Silence Used by .Pa /etc/rc when creating a new key. +.It Fl y +This option will read a private +OpenSSH format file and print an OpenSSH public key to stdout. .It Fl t Ar type Specifies the type of the key to create. The possible values are @@ -178,16 +197,6 @@ Provides the new comment. Provides the new passphrase. .It Fl P Ar passphrase Provides the (old) passphrase. -.It Fl x -This option will read a private -OpenSSH DSA format file and print a SSH2-compatible public key to stdout. -.It Fl X -This option will read a unencrypted -SSH2-compatible private (or public) key file and -print an OpenSSH compatible private (or public) key to stdout. -.It Fl y -This option will read a private -OpenSSH format file and print an OpenSSH public key to stdout. .El .Sh FILES .Bl -tag -width Ds @@ -260,3 +269,11 @@ protocol versions 1.5 and 2.0. .Xr ssh-add 1 , .Xr ssh-agent 1 , .Xr sshd 8 +.Rs +.%A J. Galbraith +.%A R. Thayer +.%T "SECSH Public Key File Format" +.%N draft-ietf-secsh-publickeyfile-01.txt +.%D March 2001 +.%O work in progress material +.Re diff --git a/ssh-keygen.c b/ssh-keygen.c index d4ba23a4b..cb48b2f9d 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c @@ -12,7 +12,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: ssh-keygen.c,v 1.56 2001/04/15 16:58:03 markus Exp $"); +RCSID("$OpenBSD: ssh-keygen.c,v 1.57 2001/04/22 13:25:37 markus Exp $"); #include #include @@ -628,7 +628,7 @@ do_change_comment(struct passwd *pw) void usage(void) { - printf("Usage: %s [-lBpqxXyc] [-t type] [-b bits] [-f file] [-C comment] " + printf("Usage: %s [-lBpqxiec] [-t type] [-b bits] [-f file] [-C comment] " "[-N new-pass] [-P pass]\n", __progname); exit(1); } @@ -666,7 +666,7 @@ main(int ac, char **av) exit(1); } - while ((opt = getopt(ac, av, "dqpclBRxXyb:f:t:P:N:C:")) != -1) { + while ((opt = getopt(ac, av, "deiqpclBRxXyb:f:t:P:N:C:")) != -1) { switch (opt) { case 'b': bits = atoi(optarg); @@ -718,11 +718,15 @@ main(int ac, char **av) exit(0); break; + case 'e': case 'x': + /* export key */ convert_to_ssh2 = 1; break; + case 'i': case 'X': + /* import key */ convert_from_ssh2 = 1; break;