Ssh
auth.log 中 sshd 條目中的 SHA256 是什麼?
通過 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雜湊”時,我不明白。 ,因為我還沒有找到任何類型的相應密鑰指紋。
謝謝你。
這是
SHA256
用於驗證 SSH 會話的 RSA 公鑰的雜湊值。這是驗證它的方法:
ssh-keygen -lf .ssh/id_rsa.pub
或者,無需驗證
ssh-keygen
:
- 去掉
ssh-rsa
前綴- 使用將密鑰解碼為字節
base64
- 獲取
SHA256
密鑰的雜湊值(作為字節,而不是十六進制)- 使用編碼字節
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