Corredor

ウェブ、プログラミングの勉強メモ。

SSH 鍵ペア・API 鍵ペアの作り方おさらい

ある VM に SSH 接続する時に使う鍵ペアとか、API Key として認証に使用する鍵ペアの作り方をおさらいする。それぞれは何らかの記事で紹介したことがあると思うが、コマンド単体で紹介したことがなかったので。

SSH 鍵ペアの作り方

$ ssh-keygen -t rsa -b 4096 -N '【パスフレーズ】' -C '【コメント】' -f "${HOME}/PATH/TO/id_rsa"

Generating public/private rsa key pair.
Your identification has been saved in /Users/Neo/PATH/TO/id_rsa.
Your public key has been saved in /Users/Neo/PATH/TO/id_rsa.pub.
The key fingerprint is:
SHA256:pUXKnmb9pR2P5nhJOLGoz3L5ugsCsXW8+HN+phOM8tQ test
The key's randomart image is:
+---[RSA 4096]----+
|          .      |
|       o o       |
|    . . = o      |
|     + + B  .    |
|    o . S+.. +o  |
|     ..+o E.++.+ |
|      .++..ooo+..|
|       .+*+ o+o  |
|         +OXo..  |
+----[SHA256]-----+
  • -b 4096 と指定したとおり、4096 bit で作成した
  • -N '' とすると、パスフレーズなしの秘密鍵ファイルが生成できる
  • -f でファイルの出力先を指定。${HOME}/PATH/TO/id_rsa (秘密鍵) と ${HOME}/PATH/TO/id_rsa.pub (公開鍵) の2ファイルが生成される
  • 各オプションを記述しないと、対話式プロンプトの中で入力していくことになる

生成できたファイルの内容サンプルは以下。

  • id_rsa (秘密鍵)
-----BEGIN OPENSSH PRIVATE KEY-----
……中略……
-----END OPENSSH PRIVATE KEY-----
  • id_rsa.pub (公開鍵)
ssh-rsa ……中略…… コメント

API 鍵ペアの作り方

いわゆる RSA 鍵のことだ。

# 秘密鍵ファイルを作成する
$ openssl genrsa -out "${HOME}/PATH/TO/key-private.pem" 4096

Generating RSA private key, 4096 bit long modulus
..........++
....................................................++
e is 65537 (0x10001)

# 秘密鍵ファイルから公開鍵ファイルを作成する
$ openssl rsa -pubout -in "${HOME}/PATH/TO/key-private.pem" -out "${HOME}/PATH/TO/key-public.pem"

writing RSA key

# オマケ : 秘密鍵ファイルから「フィンガープリント」を出力する
$ openssl rsa -pubout -outform DER -in "${HOME}/PATH/TO/key-private.pem" | openssl md5 -c

writing RSA key
13:e4:93:84:7d:85:73:fe:c9:be:0b:de:79:9f:2f:92

生成できたファイルの内容サンプルは以下。

  • key-private.pem (RSA 秘密鍵)
-----BEGIN RSA PRIVATE KEY-----
……中略……
-----END RSA PRIVATE KEY-----
  • key-public.pem (RSA 公開鍵)
-----BEGIN PUBLIC KEY-----
……中略……
-----END PUBLIC KEY-----

以上。

OpenSSH[実践]入門 Software Design plus

OpenSSH[実践]入門 Software Design plus

実用SSH 第2版―セキュアシェル徹底活用ガイド

実用SSH 第2版―セキュアシェル徹底活用ガイド

  • 作者: Daniel J. Barrett,Richard E. Silverman,Robert G. Byrnes,小島肇,坂井順行,鹿田幸治,園田道夫,高橋基信,根津研介,宮本久仁男
  • 出版社/メーカー: オライリー・ジャパン
  • 発売日: 2006/11/22
  • メディア: 大型本
  • 購入: 2人 クリック: 79回
  • この商品を含むブログ (48件) を見る

OpenSSL―暗号・PKI・SSL/TLSライブラリの詳細―

OpenSSL―暗号・PKI・SSL/TLSライブラリの詳細―