Отпечатки ключей RSA - GitHub не соответствует?
Мне интересно, как работают эти отпечатки пальцев RSA. У меня есть учетная запись GitHub, и я создал пару ключей RSA для настройки ssh-соединения. Затем следовал инструкциям ... В первый раз, когда я подключаюсь к своему GitHub, он дает мне и отпечаток RSA SHA256:nThbkt6JwfF............
Хорошо, я делаю это для процесса обучения, поэтому я гуглил, что это означает, и пытаюсь сгенерировать отпечаток пальца из моего ключа RSA - и он должен соответствует тому, что есть в моей учетной записи GitHub, верно? Но это не то, что я получаю после использования: ssh-keygen -lf ~/.ssh/id_rsa
не то же самое, что иSHA256: t6Rjff8djE........
Я что-то делаю неправильно, пытаясь проверить, является ли данный отпечаток правильным?
Ответы
SSH требует двух пар открытых и закрытых ключей. Один на стороне сервера и один на стороне клиента. В простых терминах, когда вы хотите зашифровать что-то, идущее на сервер, вы используете открытый ключ сервера (он расшифровывается на стороне сервера с помощью закрытого ключа сервера). Когда сервер что-то отправляет вам, он использует ваш открытый ключ (вы расшифровываете его, используя свой закрытый ключ, хранящийся на вашем компьютере).
Сервер представляет свой отпечаток пальца (а не отпечаток вашего сертификата). Таким образом, вы можете проверить открытый ключ, представленный сервером. Обычно отпечатки пальцев кешируются, поэтому в следующий раз ssh не будет запрашивать вас.
Когда вы настраиваете свой открытый ключ в github, вы в основном сообщаете github, какой ключ вы будете использовать для аутентификации и обмена ключами. Github «доверяет» тому, что этот ключ исходит от вас, потому что вы аутентифицируете себя с помощью своего пароля, чтобы загрузить его. Теоретически только вы можете расшифровать свои данные, потому что только у вас есть соответствующий закрытый ключ. Загружая ключ, вы устанавливаете доверительные отношения между вашим компьютером и сервером GitHub.
Если отпечаток ключа, который вы загрузили, отличается от отпечатка ключа на вашем компьютере, скорее всего, это вызвано:
- Отпечатки неправильных ключей.
- Исходный ключ был перезаписан многократным запуском команды генерации.
- Непонятный отпечаток пальца, исходящий от сервера (отпечаток сервера), с вашим собственным отпечатком сертификата.