При входе в систему через 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, но не смог найти ничего подходящего. Сначала я подумал, что это может быть какая-то информация от клиента (открытый ключ, отпечаток пальца, хешированное имя хоста и т. Д.), С которого я подключаюсь, но я не нашел ничего для подтверждения, ни на стороне сервера.
Самая близкая информация, которую я нашел, это Вот, но я не понял, когда он говорит: «А вот пример использования ключа для аутентификации. Он показывает отпечаток kewy (возможно, неправильное написание) как хэш SHA256 в base64.», поскольку я не нашел соответствующего любой отпечаток ключа.
Спасибо.
Это SHA256
хеш открытого ключа RSA, который использовался для аутентификации сеанса SSH.
Вот как это проверить:
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
Был тот же вопрос о 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
Большое спасибо.