1

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

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

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

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

1 ответ1

1

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

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

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

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

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

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .