В сфере 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, выполните следующие действия:
- Откройте консоль управления AWS и перейдите к сервису EC2.
- Найдите свой экземпляр EC2 и выберите его.
- В раскрывающемся списке «Действия» выберите «Подключиться», а затем «Подключиться к экземпляру EC2».
- Откроется SSH-клиент на основе браузера, предлагающий войти в систему, используя учетные данные IAM, связанные с экземпляром.
Метод 2. Создание собственной пары ключей SSH
Другой подход — создать собственную пару ключей SSH и вручную связать ее с вашим экземпляром EC2. Вот как это можно сделать:
- Создайте новую пару ключей SSH на локальном компьютере с помощью такого инструмента, как OpenSSH или PuTTYgen.
- В консоли управления AWS перейдите к сервису EC2 и выберите свой экземпляр.
- Выберите «Действия», затем «Настройки экземпляра», а затем «Управление ключами SSH».
- Нажмите «Загрузить новый ключ SSH» и укажите имя для вашей пары ключей.
- Вставьте открытый ключ, созданный на шаге 1, в назначенное поле.
- Сохраните изменения и используйте вновь созданную пару ключей SSH для доступа к экземпляру EC2.
Метод 3: изменение правил группы безопасности
Если у вас есть доступ к консоли управления AWS и вы знакомы с управлением группами безопасности, вы можете изменить правила для входящего трафика, чтобы разрешить доступ по SSH с вашего IP-адреса. Выполните следующие действия:
- Откройте консоль управления AWS, перейдите к сервису EC2 и выберите свой экземпляр.
- На вкладке «Описание» найдите группу безопасности, связанную с вашим экземпляром.
- Нажмите на идентификатор группы безопасности, чтобы получить доступ к ее конфигурации.
- На вкладке «Правила для входящего трафика» добавьте новое правило для SSH (порт 22), указав в качестве источника ваш IP-адрес.
- Сохраните изменения и попытайтесь подключиться к вашему экземпляру EC2 по протоколу SSH со своего IP-адреса.
Метод 4: использование метаданных экземпляра EC2
Экземпляры EC2 имеют службу метаданных, которая может обеспечить временный доступ по SSH без пары ключей. Получив доступ к этой службе, вы можете получить временные учетные данные и использовать их для установки SSH-соединения. Вот пример использования командной строки:
- Откройте терминал или командную строку и выполните следующую команду:
curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key - Команда вернет временный открытый ключ, связанный с экземпляром.
- Используйте полученный открытый ключ, чтобы установить SSH-соединение без пары ключей.
В этой статье мы рассмотрели различные способы доступа к экземпляру EC2 без пары ключей. Мы обсудили использование EC2 Instance Connect, создание специальной пары ключей SSH, изменение правил группы безопасности и использование службы метаданных экземпляра EC2. Каждый метод имеет свои преимущества и особенности, поэтому выберите тот, который лучше всего соответствует вашим требованиям. Следуя этим подходам, вы сможете получить доступ по SSH к своим экземплярам EC2, даже если пара ключей недоступна.