AWS EC2 ssh: подключение к хосту, порт 22: время ожидания завершилось, ничего не изменилось?

Вопрос или проблема

Я уверен, что некоторые из вас готовы были нажать кнопку “дизлайк”, как только увидели возникший снова этот вопрос. Мне действительно больно задавать вопрос, который, казалось бы, был решен в другом месте простым добавлением исключения в брандмауэр. В данный момент результаты поиска в Google для меня стали пурпурными (посещенными) и я не знаю, как продолжить.

Я настроил экземпляр EC2 и смог подключиться по ssh с помощью ключа в течение дня. Я на самом деле еще ничего на нем не делал, но когда я вернулся, чтобы подключиться снова, подключение не удалось. Я также попробовал AWS Instance Connect, но это завершилось неудачей с сообщением “Не удалось подключиться к вашему экземпляру. EC2 Instance Connect не может подключиться к вашему экземпляру.” Ранее Instance Connect работал вчера.

Экземпляр показывает статус “работает”, поэтому я попробовал перезагрузить его, но это тоже не сработало. Я также пробовал подключаться из разных сетей, но безрезультатно.

На этом этапе я начал проверять всех стандартных подозреваемых, порт 22 открыт для всех IP в группе безопасности для входящего трафика, пользователь Ubuntu по-прежнему должен быть пользователем по умолчанию, я использую ту же информацию для подключения, которая работала ранее (а именно публичный ip/домен compute-1.amazonaws.com).

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

Затем я завершил экземпляр и создал второй экземпляр. Это работало в течение дня, но вот мы снова здесь, через день с той же проблемой.

Я часто вижу, что проверка vpc/subnet является другим возможным источником проблемы, но все в порядке, igw и все остальное все еще прикреплены и с правильными маршрутными правилами (проверил с работающим экземпляром для подтверждения).

Я могу только предположить, поскольку эта проблема преследует меня на новом экземпляре, что это связано с моей настройкой, но я не знаю, как продолжить, так как большинство шагов по устранению неисправностей включает подключение с помощью instance connect или ssh, ни одно из которых я не могу сделать. Кто-нибудь еще сталкивался с этой проблемой ранее?

Это основано на опыте. И это для пользователей Apple Mac Silicon (терминал), я не могу говорить за другие ОС.

  1. Если у вас есть файл .pem, перейдите в каталог вашего файла pem и сделайте это:

chmod 0400 fileName.pem

  1. Вернитесь в консоль управления AWS
  2. Перейдите к группам безопасности вашего экземпляра EC2
  3. Отредактируйте правила входящего трафика и снизьте их до:

Версия IP: IPv4

Тип: SSH

Протокол: TCP

Диапазон портов: 22

Источник: 0.0.0.0/0

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

Ответ или решение

Подключение к AWS EC2 через SSH: Ошибка "connect to host, port 22: Operation timed out"

Ваша проблема с подключением к экземпляру EC2 через SSH, описанная как "connect to host, port 22: Operation timed out", является распространенной, и ее решение может быть вызвано рядом факторов. Ниже представим системный подход к решению данной проблемы.

1. Анализ настроек безопасности

  1. Правила группы безопасности:
    Убедитесь, что группа безопасности, связанная с вашим экземпляром, действительно разрешает входящие соединения на 22-й порт. Для этого:

    • Зайдите в консоль AWS.
    • Перейдите в раздел EC2.
    • Найдите экземпляр и посмотрите, к какой группе безопасности он относится.
    • В разделе настроек группы безопасности проверьте, что вInbound rules установлено правило для протокола TCP, порта 22 и источника 0.0.0.0/0 (или вашего текущего IP-адреса).
  2. Network ACL (Список управления доступом):
    Убедитесь, что ваши Network ACL не блокируют подключения на порт 22. Проверьте входящие и исходящие правила.

2. Настройки VPC и маршрутизация

Убедитесь, что экземпляр находится в VPC с правильно настроенными параметрами маршрутизации. Если используется NAT Gateway для подключения к интернету, убедитесь, что он правильно настроен.

  • Проверьте, что маршруты указаны правильно, а IGW (Internet Gateway) подключен к вашему VPC.

3. Проверка состояния экземпляра

Поскольку экземпляр показывает статус "running", но вы не можете к нему подключиться, стоит выполнить диагностику следующими методами:

  • Перезагрузка: Хотя вы уже пробовали перезагрузить экземпляр, иногда помогает полная остановка и повторный запуск.
  • Проверка логов: В AWS консоли в разделе ‘System Log’ вашего экземпляра можно увидеть, есть ли ошибки заведомо.

4. IPv4 и динамические IP

Учтите, что при остановке и запуске экземпляра IP адрес может измениться. Убедитесь, что вы подключаетесь к актуальному IP. Также можно использовать Elastic IP, чтобы избежать изменений IP.

5. Проброс портов и Firewall

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

6. Использование Instance Connect

Если вы получаете ошибку подключения через Instance Connect, убедитесь, что ваша IAM роль содержит необходимые разрешения и настройки. Необходимо, чтобы для работы Instance Connect было правильно установлено программное обеспечение SSH на вашем экземпляре.

7. Проверка SSH настроек

  • Убедитесь, что вы используете правильный способ подключения:
    ssh -i /path/to/your-key.pem ubuntu@<EC2-Public-IP>
  • Проверьте, не изменились ли права доступа на ваш .pem файл. Для Mac используйте:
    chmod 400 /path/to/your-key.pem

Заключение

Если после выполнения всех вышеперечисленных рекомендаций проблема не решена, возможно, стоит обратиться в службу поддержки AWS для дальнейшего расследования. Разобраться с проблемами, связанными с сетью или экземпляром, зачастую требуется дополнительное время и ресурсы. Не стесняйтесь делиться своим опытом и вопросами на форумах или в сообществах AWS — это может помочь найти решения и узнать о новых подходах к решению аналогичных проблем.

Пожалуйста, сообщите о ваших успехах или дополнительных вопросах!

Оцените материал
Добавить комментарий

Капча загружается...