Opensslによって生成された.pem秘密鍵があります。それからキーIDを抽出する方法は?
編集:生成されたrsaキーペアはAmazonクラウドフロント用です。コンソールにアップロードすると、「キーID」が表示されます。ただし、生成した秘密鍵は自分のアカウント用ではなく、AWSアカウントに公開鍵をアップロードするために使用できるスロットがありません(公開鍵は2つに制限されています)。
裸鍵には「鍵ID」がありません。それらは単なる一連の数字です。
キーがX.509証明書に属している場合、証明書のフィンガープリント(DERでエンコードされた証明書のSHA-1ハッシュ)が識別に使用されます:openssl x509 -outform der | openssl sha1
またはopenssl x509 -noout -fingerprint
。
それ以外の場合(裸の公開/秘密鍵ペアの場合)、public鍵のSHA-1ハッシュが使用されることがあります(これもDERエンコーディングです)が、その標準はわかりません。 。 openssl rsar -pubout -outform der
を使用して公開鍵を抽出し、プログラムで必要な場合はopenssl sha1
に再度パイプすることができます。
CloudFrontで使用される「キーペアID」は、そのキーを持つデータベースエントリのシリアル番号です。同じキーを2回アップロードすると、IDが異なります。私はそれをテストしました。
Amazonは現在、(EC2で実行されているサーバーだけでなく)任意のサーバーでそのようなアクションを実行するためのツールを提供しています。どのUbuntuコンピューターでも、apt-get
を使用してツールをインストールできます。
$ Sudo apt-get install ec2-AMI-tools ec2-api-tools
My.pem
のフィンガープリントを取得するための構文は次のとおりです。
$ ec2-fingerprint-key My.pem
62:44:56:f7:91:f2:8b:9b:44:7c:17:0e:39:c7:34:68:f5:b2:3c:57
ec2-fingerprint-key
は入力するのに少し長いので、同等のショートカットec2fp
があります。
$ ec2fp My.pem
62:44:56:f7:91:f2:8b:9b:44:7c:17:0e:39:c7:34:68:f5:b2:3c:57