Разблокировка EC2: доступ к SSH без пары ключей – подробное руководство

В сфере Amazon Web Services (AWS) экземпляры EC2 служат основой для бесчисленного количества приложений и сервисов. Secure Shell (SSH) — это фундаментальный инструмент для доступа к этим экземплярам и управления ими. Обычно SSH требует пары ключей для аутентификации. Однако существуют сценарии, в которых вам может потребоваться доступ к экземпляру EC2 без пары ключей. В этой статье блога мы рассмотрим несколько способов достижения этой цели, предоставляя попутно разговорные объяснения и примеры кода.

Метод 1: использование EC2 Instance Connect
Один из способов доступа к экземпляру EC2 без пары ключей — использование EC2 Instance Connect. Эта функция позволяет вам установить безопасное SSH-соединение с вашим экземпляром, используя учетные данные AWS Identity and Access Management (IAM). Чтобы включить EC2 Instance Connect, выполните следующие действия:

  1. Откройте консоль управления AWS и перейдите к сервису EC2.
  2. Найдите свой экземпляр EC2 и выберите его.
  3. В раскрывающемся списке «Действия» выберите «Подключиться», а затем «Подключиться к экземпляру EC2».
  4. Откроется SSH-клиент на основе браузера, предлагающий войти в систему, используя учетные данные IAM, связанные с экземпляром.

Метод 2. Создание собственной пары ключей SSH
Другой подход — создать собственную пару ключей SSH и вручную связать ее с вашим экземпляром EC2. Вот как это можно сделать:

  1. Создайте новую пару ключей SSH на локальном компьютере с помощью такого инструмента, как OpenSSH или PuTTYgen.
  2. В консоли управления AWS перейдите к сервису EC2 и выберите свой экземпляр.
  3. Выберите «Действия», затем «Настройки экземпляра», а затем «Управление ключами SSH».
  4. Нажмите «Загрузить новый ключ SSH» и укажите имя для вашей пары ключей.
  5. Вставьте открытый ключ, созданный на шаге 1, в назначенное поле.
  6. Сохраните изменения и используйте вновь созданную пару ключей SSH для доступа к экземпляру EC2.

Метод 3: изменение правил группы безопасности
Если у вас есть доступ к консоли управления AWS и вы знакомы с управлением группами безопасности, вы можете изменить правила для входящего трафика, чтобы разрешить доступ по SSH с вашего IP-адреса. Выполните следующие действия:

  1. Откройте консоль управления AWS, перейдите к сервису EC2 и выберите свой экземпляр.
  2. На вкладке «Описание» найдите группу безопасности, связанную с вашим экземпляром.
  3. Нажмите на идентификатор группы безопасности, чтобы получить доступ к ее конфигурации.
  4. На вкладке «Правила для входящего трафика» добавьте новое правило для SSH (порт 22), указав в качестве источника ваш IP-адрес.
  5. Сохраните изменения и попытайтесь подключиться к вашему экземпляру EC2 по протоколу SSH со своего IP-адреса.

Метод 4: использование метаданных экземпляра EC2
Экземпляры EC2 имеют службу метаданных, которая может обеспечить временный доступ по SSH без пары ключей. Получив доступ к этой службе, вы можете получить временные учетные данные и использовать их для установки SSH-соединения. Вот пример использования командной строки:

  1. Откройте терминал или командную строку и выполните следующую команду:
    curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
  2. Команда вернет временный открытый ключ, связанный с экземпляром.
  3. Используйте полученный открытый ключ, чтобы установить SSH-соединение без пары ключей.

В этой статье мы рассмотрели различные способы доступа к экземпляру EC2 без пары ключей. Мы обсудили использование EC2 Instance Connect, создание специальной пары ключей SSH, изменение правил группы безопасности и использование службы метаданных экземпляра EC2. Каждый метод имеет свои преимущества и особенности, поэтому выберите тот, который лучше всего соответствует вашим требованиям. Следуя этим подходам, вы сможете получить доступ по SSH к своим экземплярам EC2, даже если пара ключей недоступна.