SSH経由でログインすると、auth.logに次のように表示されます。
Dec 14 16:29:30 app sshd[22781]: Accepted publickey for dev from XXX.XXX.XX.XXX port XXXXX ssh2: RSA SHA256:pO8i...
私はこのSHA256情報が何であるかを理解しようとしましたが、一致するように見えるものを見つけることができませんでした。まず、接続元のクライアントからの情報(公開鍵、指紋、ハッシュ化されたホスト名など)の可能性があると思いましたが、サーバー側でも確認するものは見つかりませんでした。
私が見つけた最も近い情報は here ですが、「ここに認証用のキーを使用した例があります。それは、次のようにkewy(スペルミス、おそらく)指紋を示しています。 base64のSHA256ハッシュ。対応するキーフィンガープリントが何も見つからなかったため。
ありがとうございました。
これは、SSHセッションの認証に使用されたRSA公開鍵のSHA256
ハッシュです。
これを確認する方法は次のとおりです。
ssh-keygen -lf .ssh/id_rsa.pub
または、ssh-keygen
なしで確認するには:
ssh-rsa
接頭辞を削除しますbase64
を使用してキーをバイトにデコードしますSHA256
ハッシュを取得します(16進数ではなくバイトとして)base64
を使用してバイトをエンコードします例えば:
cat .ssh/id_rsa.pub |
awk '{ print $2 }' | # Only the actual key data without prefix or comments
base64 -d | # decode as base64
sha256sum | # SHA256 hash (returns hex)
awk '{ print $1 }' | # only the hex data
xxd -r -p | # hex to bytes
base64 # encode as base64
MacOS 10.13.6でも同じ質問がありましたが、あなたの答えはいくつかの微調整が必要でした:
cat .ssh/id_rsa.pub |
awk '{ print $2 }' | # Only the actual key data without prefix or comments
base64 -D | # decode as base64
shasum -a 256 | # SHA256 hash (returns hex)
awk '{ print $1 }' | # only the hex data
xxd -r -p | # hex to bytes
base64 # encode as base64
感謝します。