Why?
What for?
ssh-keygen
とは認証用の鍵を生成、管理、および変換するOpenSSHのコマンド
- Diffie-Hellman 群交換 (DH-GEX) で使われる群を生成
- 鍵失効リスト (Key Revocation List, KRL) を生成
- 与えられた鍵は revoke されたものかどうかを検査
生成できる鍵(identiry file)タイプ
-t dsa | ecdsa | ed25519 | rsa | rsa1
よくある使用法
key pair を作る
$ ssh-keygen -t rsa -C XXX@example.comX -f ~/.ssh/id_rsa.kz
$ ssh-keygen -t hoge
unknown key type hoge
$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/Users/kz-engineer/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/kz-engineer/.ssh/id_dsa.
Your public key has been saved in /Users/kz-engineer/.ssh/id_dsa.pub.
The key fingerprint is:
XXXXXXXXXXXXXXXXX kz-engineer@kz-engineer.local
The key's randomart image is:
+--[ DSA 1024]----+
...
+-----------------+
あるホストに対応づいた鍵をknown_hostsファイルの中から探す
$ ssh-keygen -F github.com
# Host github.com found: line 3 type RSA
github.com ssh-rsa XXXXXXXXXXXXXXXXXXX==
よくある失敗
- パスフレーズを忘れた
- 変更はできても、忘れたものを取り戻すことはできないので、再生成すること。
TODO List
- TODO:
/etc/rc
でシステム管理者が鍵を作成?
- TODO:
OpenSSH
について深く知りたい
- TODO:
SSH1
がどれくらいまずいのか
- TODO: 鍵のビット数を縮めるとどれくらいまずいのか
- TODO:
The key fingerprint
とか The key's randomart image
って可愛いけど何?
- TODO: Diffie-Hellman 群交換 (DH-GEX) とは?
- TODO: それぞれの鍵タイプで何がおいしいの?
- TOOD: 鍵失効リスト (Key Revocation List, KRL)とは?