証明書の表示

sshなどで使う証明書の公開鍵。

作るときにrandomartとかいう四角で囲われたvisual的なfingerprintが表示されるのですが、作成後以降にソレを確認したいときのメモ

■ ssh-keygenで表示する(古いversionの場合)

# ssh-keygen -lv -f ~/.ssh/known_hosts
2048 86:f2:d2:27:76:07:04:30:6c:f5:05:13:c0:8e:0c:92 192.168.1.2 (RSA)
+--[ RSA 2048]----+
| . .o++.+o.      |
|E . o..o o       |
| . + o  o        |
|    o .o         |
|    . . S        |
|     + . .       |
|    . = o .      |
|     o + .       |
|                 |
+-----------------+
2048 95:ef:d7:bf:76:6e:22:a7:cb:73:bd:31:04:1a:8a:b3 192.168.1.3 (RSA)
+--[ RSA 2048]----+
|                 |
|           .     |
|          o. .   |
|        ....o .  |
|       oS. ..  . |
|        o  .  .. |
|       E    . .+.|
|           .o.+.B|
|            +B.**|
+-----------------+

■sshのオプションにVisualHostKey=yesを追加

~/.ssh/config とかに書いておくと毎度指定しなくて良い。

■ ssh-keygenで表示する(新しいversionの場合)

-vでの見栄えがsha256になるので-Eオプションで見栄えを変更できる。

# ssh-keygen -l -v -f known_hosts
2048 SHA256:htgd3oXKys8KtLgEZNYZqywD5K2Nr2SGjS5zADFMhck 192.168.2.1 (RSA)
+---[RSA 2048]----+
|+o+o             |
|=Eo +      .     |
|.B =    . . .    |
|B =  o = + .     |
|== .o o S .      |
|+=.o o o         |
|o=+.o o          |
|B.o. . o         |
|.=.   ..o        |
+----[SHA256]-----+
# ssh-keygen -l -v -E md5 -f known_hosts
2048 MD5:9a:28:58:7d:0a:75:44:cd:fa:57:54:b5:1c:de:2c:e3 192.168.2.1 (RSA)
+---[RSA 2048]----+
|     .oo     ..o.|
|     .  o   . o.+|
|    . ..   .  o+o|
|   o ..     .. o |
|  o . ..S  .  E  |
| o . + o. .      |
|. . o o  .       |
|   .             |
|                 |
+------[MD5]------+

新しいと古いの境界はOpenSSH 6.8あたり。teratermは4.90を確認したところ、fingerprintの表示でMD5とSHA256を選択できる。teraterm 4.83はMD5のみの対応。ちょうど4.90はiconも変わるし入れ替え時?

サーバ側では /etc/ssh/ssh_host_rsa_key(.pub)を表示させると同じものになるはず。逆に入れなおしてここが書き換わると接続元クライアントでも書き換えが必要。