2016-10-19 8 views
1

При подключении к GitHub с использованием HTTPS они, очевидно, захотят проверить меня, запросив мой пароль. Я ввожу свой пароль, он проверяет, а затем они позволяют мне писать на мое репо.Как отправка моего открытого ключа в GitHub позволяет им проверить, кто я?

С настройкой ключей SSH я создаю пару public_key и private_key. Как я понимаю, public_key, который я использую для шифрования, и private_key, который я использовал для дешифрования.

Затем я сохраняю private_key на своей машине и обмениваюсь ею ни с кем. Затем я перехожу в GitHub и вставляю в свою public_key.

Как они меня разрешают? Используют ли они мою public_key для шифрования сообщения, а затем ждут, когда я отправлю обратно расшифрованные сообщения? Если они вернут сообщение, дешифрованное правильно, то они знают его?

ответ

2

Используют ли они мою public_key для шифрования сообщения, а затем жду, пока я отправлю обратно дешифрованное сообщение?

Скорее наоборот. Вы (ваш локальный клиент SSH) шифруете что-то с помощью своего закрытого ключа. И если они могут расшифровать его, используя открытый ключ, который вы им дали, это, должно быть, вы.

Очевидно, что это очень упрощенное объяснение.

Для получения дополнительной информации см