Google Cloud SSH-аутентификация

547
Lior Ohana

Я только недавно начал использовать Google Cloud Platform и использую SSH для нескольких целей. Поскольку безопасность очень важна в этом проекте, я пытаюсь выяснить, как работает аутентификация SSH (особенно с GCP). Я следую инструкциям Google о том, как сгенерировать и загрузить ключ RSA в экземпляр в облаке:

  1. Я генерирую открытый / закрытый ключи с помощью PuTTyGen
  2. Я загружаю открытый ключ в экземпляр
  3. Соединение SSH открывается путем загрузки файла закрытого ключа в клиент.

Мое замешательство происходит из-за того, что я был уверен, что сервер использует свой личный ключ для обмена ключами, но на самом деле загруженный является сгенерированным открытым ключом.

Может кто-нибудь поделиться своими знаниями или ссылкой на статью, объясняющую, как работает обмен ключами?

1

1 ответ на вопрос

1
cristi

Если вы будете гуглить ваши вопросы, вы найдете объяснение в первых ссылках. Как например здесь

Закрытый ключ должен знать только вы.

Закрытый ключ хранится у клиента и должен храниться в секрете.

Открытый ключ вы ставите на все устройства, где вам необходимо пройти аутентификацию.

Связанный открытый ключ может свободно распространяться без каких-либо негативных последствий.

И они также предлагают краткое объяснение того, как работает аутентификация.

Когда клиент пытается аутентифицироваться с использованием ключей SSH, сервер может проверить клиент на наличие у него закрытого ключа. Если клиент может доказать, что ему принадлежит закрытый ключ, то создается сеанс оболочки или выполняется запрошенная команда.

Редактировать:

Кажется, что есть другая пара ключей, созданная во время ssh-согласования алгоритмом Диффи-Хеллмана, которая фактически используется для шифрования трафика. Прочитайте эту ветку для более полного объяснения.

Еще несколько объяснений здесь

Спасибо, но я уже прочитал документацию Google. Я ищу более подробное описание обмена ключами. Я знаю, что SSH использует Diffie-Helman для обмена ключами, но «сухой» протокол определяет, что сервер хранит закрытый ключ. Вопрос в том, является ли тот же Диффи-Хелман только тем, что клиент хранит закрытый ключ (просто семантика ... верно?) Или существует другой протокол обмена ключами. Lior Ohana 8 лет назад 0

Похожие вопросы