SSH鍵のフィンガープリント
ssh-keygen -lと同じ形式でOpenSSH公開鍵のフィンガープリントを計算します。id_ed25519.pub、authorized_keys、known_hostsの行、またはRFC 4716 SSH2公開鍵ブロックを貼り付けると、SHA-256フィンガープリント(base64)、従来形式のMD5フィンガープリント(コロン区切りの16進数)、鍵の種類、サイズ、コメントを取得できます。RSA、DSA、ECDSA、Ed25519、FIDOセキュリティキーに対応し、一度に100件まで処理できます。
よくある質問
このツールはどのような入力を想定していますか?
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... user@hostのようなOpenSSH公開鍵の行を、1行につき1つ貼り付けてください。先頭にオプションが付いたauthorized_keysの行や、先頭にホスト名が付いたknown_hostsの行にも対応しています。鍵の種類は行内に含まれているためです。空行と#で始まる行は無視されます。
SHA-256フィンガープリントはどのように計算されますか?
base64の鍵データをバイナリの鍵データにデコードし、SHA-256でハッシュ化した後、SHA256:に続けて、末尾の=パディングを除いたbase64で出力します。この形式はssh-keygen -l、OpenSSHのホスト鍵プロンプト、GitHubで使われます。
MD5フィンガープリントは何に使われますか?
6.8より前のOpenSSHバージョンや一部のホスティングパネルでは、今でもMD5形式が表示されます。これは16バイトを小文字の16進数で表し、コロンで区切ったものです。ssh-keygen -E md5 -lと同じMD5:プレフィックス付きで表示されます。比較にはSHA-256を推奨します。
どの種類の鍵に対応していますか?
ssh-rsa、ssh-dss、ssh-ed25519、ecdsa-sha2-nistp256、nistp384、nistp521、およびFIDOセキュリティキーのsk-ssh-ed25519@openssh.comとsk-ecdsa-sha2-nistp256@openssh.comに対応しています。-cert-v01@openssh.comで終わるOpenSSH証明書には対応していません。
鍵のサイズはどのように判定されますか?
RSA鍵とDSA鍵は法または素数のビット長を表示します。ECDSA鍵は曲線に応じて256、384、521を、Ed25519鍵は256を表示します。また、鍵データ内の種類と、その前に記された種類が一致しているかも確認します。
RFC 4716 SSH2公開鍵を貼り付けられますか?
はい。PuTTYgenや一部の商用SSHサーバーでエクスポートされた、---- BEGIN SSH2 PUBLIC KEY ---- と ---- END SSH2 PUBLIC KEY ---- の間のブロックは、Commentヘッダーとともに読み込まれます。各ブロックは1つのキーとして扱われます。
ssh-keygenの出力には何が表示されますか?
ssh-keygen -l -f key.pubの出力を再現します。サイズ、SHA-256フィンガープリント、コメント、括弧内のタイプが表示されます。例:256 SHA256:... user@host (ED25519)。ssh-keygenと同様に、コメントのないキーではコメントは表示されません。
秘密鍵を貼り付けられますか?
いいえ、貼り付けないでください。このツールが読み取るのは公開鍵のみです。自分のマシンにある秘密鍵ファイルから公開鍵を取得するには、ssh-keygen -y -f ~/.ssh/id_ed25519を実行し、その出力を貼り付けてください。
キーが無効と表示されるのはなぜですか?
base64データが途中で切れている、複数行に分かれている、別のキーと混在している、または先頭のタイプがキーのblobと一致していない可能性があります。.pubファイルから行全体をもう一度コピーし、1行のまま貼り付けてください。
上限はありますか?また、データは保存されますか?
一度に100個のキー、262,144文字まで貼り付けられます。公開鍵はこのリクエストの処理中にメモリ上で処理され、ログに記録されたり保存されたりすることはありません。