[6a3a178] | 1 | .TH sshpk\-conv 1 "Jan 2016" sshpk "sshpk Commands"
|
---|
| 2 | .SH NAME
|
---|
| 3 | .PP
|
---|
| 4 | sshpk\-conv \- convert between key formats
|
---|
| 5 | .SH SYNOPSYS
|
---|
| 6 | .PP
|
---|
| 7 | \fB\fCsshpk\-conv\fR \-t FORMAT [FILENAME] [OPTIONS...]
|
---|
| 8 | .PP
|
---|
| 9 | \fB\fCsshpk\-conv\fR \-i [FILENAME] [OPTIONS...]
|
---|
| 10 | .SH DESCRIPTION
|
---|
| 11 | .PP
|
---|
| 12 | Reads in a public or private key and converts it between different formats,
|
---|
| 13 | particularly formats used in the SSH protocol and the well\-known PEM PKCS#1/7
|
---|
| 14 | formats.
|
---|
| 15 | .PP
|
---|
| 16 | In the second form, with the \fB\fC\-i\fR option given, identifies a key and prints to
|
---|
| 17 | stderr information about its nature, size and fingerprint.
|
---|
| 18 | .SH EXAMPLES
|
---|
| 19 | .PP
|
---|
| 20 | Assume the following SSH\-format public key in \fB\fCid_ecdsa.pub\fR:
|
---|
| 21 | .PP
|
---|
| 22 | .RS
|
---|
| 23 | .nf
|
---|
| 24 | ecdsa\-sha2\-nistp256 AAAAE2VjZHNhLXNoYTI...9M/4c4= user@host
|
---|
| 25 | .fi
|
---|
| 26 | .RE
|
---|
| 27 | .PP
|
---|
| 28 | Identify it with \fB\fC\-i\fR:
|
---|
| 29 | .PP
|
---|
| 30 | .RS
|
---|
| 31 | .nf
|
---|
| 32 | $ sshpk\-conv \-i id_ecdsa.pub
|
---|
| 33 | id_ecdsa: a 256 bit ECDSA public key
|
---|
| 34 | ECDSA curve: nistp256
|
---|
| 35 | Comment: user@host
|
---|
| 36 | Fingerprint:
|
---|
| 37 | SHA256:vCNX7eUkdvqqW0m4PoxQAZRv+CM4P4fS8+CbliAvS4k
|
---|
| 38 | 81:ad:d5:57:e5:6f:7d:a2:93:79:56:af:d7:c0:38:51
|
---|
| 39 | .fi
|
---|
| 40 | .RE
|
---|
| 41 | .PP
|
---|
| 42 | Convert it to \fB\fCpkcs8\fR format, for use with e.g. OpenSSL:
|
---|
| 43 | .PP
|
---|
| 44 | .RS
|
---|
| 45 | .nf
|
---|
| 46 | $ sshpk\-conv \-t pkcs8 id_ecdsa
|
---|
| 47 | \-\-\-\-\-BEGIN PUBLIC KEY\-\-\-\-\-
|
---|
| 48 | MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAsA4R6N6AS3gzaPBeLjG2ObSgUsR
|
---|
| 49 | zOt+kWJoijLnw3ZMYUKmAx+lD0I5XUxdrPcs1vH5f3cn9TvRvO9L0z/hzg==
|
---|
| 50 | \-\-\-\-\-END PUBLIC KEY\-\-\-\-\-
|
---|
| 51 | .fi
|
---|
| 52 | .RE
|
---|
| 53 | .PP
|
---|
| 54 | Retrieve the public half of a private key:
|
---|
| 55 | .PP
|
---|
| 56 | .RS
|
---|
| 57 | .nf
|
---|
| 58 | $ openssl genrsa 2048 | sshpk\-conv \-t ssh \-c foo@bar
|
---|
| 59 | ssh\-rsa AAAAB3NzaC1yc2EAAA...koK7 foo@bar
|
---|
| 60 | .fi
|
---|
| 61 | .RE
|
---|
| 62 | .PP
|
---|
| 63 | Convert a private key to PKCS#1 (OpenSSL) format from a new\-style OpenSSH key
|
---|
| 64 | format (the \fB\fCssh\-keygen \-o\fR format):
|
---|
| 65 | .PP
|
---|
| 66 | .RS
|
---|
| 67 | .nf
|
---|
| 68 | $ ssh\-keygen \-o \-f foobar
|
---|
| 69 | \&...
|
---|
| 70 | $ sshpk\-conv \-p \-t pkcs1 foobar
|
---|
| 71 | \-\-\-\-\-BEGIN RSA PRIVATE KEY\-\-\-\-\-
|
---|
| 72 | MIIDpAIBAAKCAQEA6T/GYJndb1TRH3+NL....
|
---|
| 73 | \-\-\-\-\-END RSA PRIVATE KEY\-\-\-\-\-
|
---|
| 74 | .fi
|
---|
| 75 | .RE
|
---|
| 76 | .SH OPTIONS
|
---|
| 77 | .TP
|
---|
| 78 | \fB\fC\-i, \-\-identify\fR
|
---|
| 79 | Instead of converting the key, output identifying information about it to
|
---|
| 80 | stderr, including its type, size and fingerprints.
|
---|
| 81 | .TP
|
---|
| 82 | \fB\fC\-p, \-\-private\fR
|
---|
| 83 | Treat the key as a private key instead of a public key (the default). If you
|
---|
| 84 | supply \fB\fCsshpk\-conv\fR with a private key and do not give this option, it will
|
---|
| 85 | extract only the public half of the key from it and work with that.
|
---|
| 86 | .TP
|
---|
| 87 | \fB\fC\-f PATH, \-\-file=PATH\fR
|
---|
| 88 | Input file to take the key from instead of stdin. If a filename is supplied
|
---|
| 89 | as a positional argument, it is equivalent to using this option.
|
---|
| 90 | .TP
|
---|
| 91 | \fB\fC\-o PATH, \-\-out=PATH\fR
|
---|
| 92 | Output file name to use instead of stdout.
|
---|
| 93 | .PP
|
---|
| 94 | \fB\fC\-T FORMAT, \-\-informat=FORMAT\fR
|
---|
| 95 | .TP
|
---|
| 96 | \fB\fC\-t FORMAT, \-\-outformat=FORMAT\fR
|
---|
| 97 | Selects the input and output formats to be used (see FORMATS, below).
|
---|
| 98 | .TP
|
---|
| 99 | \fB\fC\-c TEXT, \-\-comment=TEXT\fR
|
---|
| 100 | Sets the key comment for the output file, if supported.
|
---|
| 101 | .SH FORMATS
|
---|
| 102 | .PP
|
---|
| 103 | Currently supported formats:
|
---|
| 104 | .TP
|
---|
| 105 | \fB\fCpem, pkcs1\fR
|
---|
| 106 | The standard PEM format used by older OpenSSH and most TLS libraries such as
|
---|
| 107 | OpenSSL. The classic \fB\fCid_rsa\fR file is usually in this format. It is an ASN.1
|
---|
| 108 | encoded structure, base64\-encoded and placed between PEM headers.
|
---|
| 109 | .TP
|
---|
| 110 | \fB\fCssh\fR
|
---|
| 111 | The SSH public key text format (the format of an \fB\fCid_rsa.pub\fR file). A single
|
---|
| 112 | line, containing 3 space separated parts: the key type, key body and optional
|
---|
| 113 | key comment.
|
---|
| 114 | .TP
|
---|
| 115 | \fB\fCpkcs8\fR
|
---|
| 116 | A newer PEM format, usually used only for public keys by TLS libraries such
|
---|
| 117 | as OpenSSL. The ASN.1 structure is more generic than that of \fB\fCpkcs1\fR\&.
|
---|
| 118 | .TP
|
---|
| 119 | \fB\fCopenssh\fR
|
---|
| 120 | The new \fB\fCssh\-keygen \-o\fR format from OpenSSH. This can be mistaken for a PEM
|
---|
| 121 | encoding but is actually an OpenSSH internal format.
|
---|
| 122 | .TP
|
---|
| 123 | \fB\fCrfc4253\fR
|
---|
| 124 | The internal binary format of keys when sent over the wire in the SSH
|
---|
| 125 | protocol. This is also the format that the \fB\fCssh\-agent\fR uses in its protocol.
|
---|
| 126 | .SH SEE ALSO
|
---|
| 127 | .PP
|
---|
| 128 | .BR ssh-keygen (1),
|
---|
| 129 | .BR openssl (1)
|
---|
| 130 | .SH BUGS
|
---|
| 131 | .PP
|
---|
| 132 | Encrypted (password\-protected) keys are not supported.
|
---|
| 133 | .PP
|
---|
| 134 | Report bugs at Github
|
---|
| 135 | \[la]https://github.com/arekinath/node-sshpk/issues\[ra]
|
---|