

ssh-keygen -l で公開鍵のフィンガープリントを確認する
この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。
何を確認したかったか
authorized_keys に登録されている鍵が、どういう鍵で、フィンガープリントがどうなっているかを一覧したかった。
コマンド
ssh-keygen -l -f .ssh/authorized_keys-l でフィンガープリント表示、-f で対象ファイルを指定する。
出力
2048 SHA256:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA comment1 (RSA)2048 SHA256:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB comment2 (RSA)2048 SHA256:CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC comment3 (RSA)2048 SHA256:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD comment4 (RSA)フォーマントは <鍵長> <ハッシュ種別>:<フィンガープリント> <コメント> (<鍵種別>) の順になっている。
分かったこと
-fには単一の公開鍵ファイル(id_rsa.pubなど)だけでなく、authorized_keysやknown_hostsのように複数行ある鍵リストファイルも渡せる。渡すと1行ごとに1鍵分のフィンガープリントが出力される。- 秘密鍵ファイル(
id_rsaなど)を指定しても、対応する公開鍵側のフィンガープリントが表示される。 - フィンガープリントのハッシュ方式はOpenSSH 6.8以降だとSHA256がデフォルトらしい。それより古いバージョンだとMD5表記になるらしいが、実機では未確認。
- コメント部分は公開鍵末尾の自由記述欄で、
user@host形式が多いが空でも動作する。
用途
複数人で使っている authorized_keys の中身を棚卸しするときや、意図しない鍵が紛れ込んでいないかをチェックするときに使える。