Возможные причины тайм-аута при попытке доступа к экземпляру EC2 - PullRequest
87 голосов
/ 11 мая 2010

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

ОБНОВЛЕНИЕ: Это не о разрешениях - я могу нормально войти в систему. Я подозреваю, что это может быть из-за проблем с памятью

Ответы [ 20 ]

84 голосов
/ 21 февраля 2013

У меня была такая же проблема, и в итоге я добавил IP локального компьютера к списку входящих правил в активной безопасности группа. В открывшемся диалоговом окне ниже введите 22 в диапазоне портов, свой локальный IP / 32 в поле источника и оставьте «пользовательское правило tcp» в раскрывающемся списке.

enter image description here

63 голосов
/ 11 мая 2010

Вы установили соответствующую группу безопасности для экземпляра? То есть тот, который разрешает доступ из вашей сети к порту 22 на экземпляре. (По умолчанию весь трафик запрещен.)

Обновление: хорошо, проблема не в группе безопасности. Но проблема сохраняется, если вы запускаете другой экземпляр с того же AMI и пытаетесь получить к нему доступ? Может быть, этот конкретный экземпляр EC2 просто случайно вышел из строя - это только вопрос времени, когда что-то подобное происходит. (Рекомендуемое чтение: Архитектура для облака: лучшие практики (PDF), статья Джинеша Вариа, евангелиста веб-сервисов в Amazon. В частности, см. Раздел под названием «Разработка на провал, и ничто не подведет». )

25 голосов
/ 19 марта 2015

Уничтожить и создать заново

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

Создавая все обратно, я должен был убедиться, что создал ВСЕ. Это включало:

  • Создать VPC
    • CIDR: 10.0.0.0/24
  • Создать Интернет-шлюз
  • Присоединить Интернет-шлюз к VPC
  • Создать Таблица маршрутизации
  • Добавить Маршрут в Таблица маршрутизации
    • Destination: 0.0.0.0/0
    • Target: <Internet Gateway from earlier>
  • Создать Подсеть
    • CIDR: 10.0.0.0/24
    • Routing Table: <Routing Table from earlier

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

Предложение

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

19 голосов
/ 23 октября 2015

Этот ответ для глупых людей (как я). Общедоступный DNS вашего EC2 может (будет) изменяться при перезапуске. Если вы этого не поймете и не попытаетесь подключиться к старому общедоступному DNS по протоколу SSH, соединение будет остановлено и время ожидания истечет. Это может привести вас к предположению, что что-то не так с вашей EC2 или группой безопасности или ... Нет, просто SSH в новый DNS. И обновите ваш ~/.ssh/config файл, если вам нужно!

11 голосов
/ 29 мая 2015

Для подключения используйте ssh так:

ssh -i keyname.pem username@xxx.xx.xxx.xx

Где keyname.pem - имя вашего личного ключа, username - правильное имя пользователя для вашего дистрибутива os, а xxx.xx.xxx.xx - открытый IP-адрес.

В случае истечения времени ожидания или сбоя проверьте следующее:

Группа безопасности

Убедитесь, что у вас есть входящее правило для TCP-порт 22 * ​​1014 * и все ips или ваш ip. Вы можете найти группу безопасности через меню ec2 в опциях экземпляра.

Таблица маршрутизации

Для новой подсети в vpc вам необходимо перейти к таблице маршрутизации, которая указывает 0.0.0.0 / 0 на целевой интернет-шлюз . Когда вы создаете подсеть в вашем vpc, по умолчанию она назначает таблицу маршрутизации по умолчанию, которая, вероятно, не принимает входящий трафик из Интернета. Вы можете редактировать параметры таблицы маршрутизации в меню vpc, а затем в подсетях.

Эластичный IP

Для экземпляра в vpc необходимо назначить открытый эластичный IP-адрес и связать его с экземпляром. Частный IP-адрес не может быть доступен извне. Вы можете получить эластичный ip в меню ec2 (не в экземпляре).

Имя пользователя

Убедитесь, что вы используете правильное имя пользователя . Это должен быть один из ec2-user или root или ubuntu. Попробуйте их все, если это необходимо.

Закрытый ключ

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

7 голосов
/ 13 мая 2010

Вы смотрели на вывод консоли из экземпляра? Это можно сделать с помощью консоли AWS (Экземпляры -> Щелкните правой кнопкой мыши на экземпляре -> Получить системный журнал). У меня были случаи, когда сетевые службы на экземпляре EC2 не запускались правильно, что приводило к тайм-ауту соединений SSH; перезапуск экземпляра обычно исправляет вещи.

2 голосов
/ 08 ноября 2016

enter image description here

ПОСЛЕ 2 ЧАСОВ Я НАШЕЛ ЭТО

Примечание, что ssh ip 120.138.105.251/32

  • НЕ является экземпляром IP-адреса

  • Это не ваш локальный ip 127.0.0.1

  • Это не ваш локальный ip localhost

НО, НО, НО

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

  1. Перейдите на https://www.whatismyip.com/ любой IP-адрес, введенный в ssh

ЕСЛИ ВЫ ХОТИТЕ ПОЛНОСТЬЮ ОТКРЫТЬ SSH НА ВСЕ IP-АДРЕС enter image description here

ЭТО КАК ПОЛНОСТЬЮ ДОСТУПНО ЗАПИСАТЬ ЗАПИСИ - ОСНОВНЫЕ РЕКОМЕНДУЕМЫЕ enter image description here

ЭТО ТО, ЧТО Я ИСПОЛЬЗУЮ В ПРОИЗВОДСТВЕ enter image description here

1 голос
/ 08 января 2015

Возможны следующие проблемы:

  • Наиболее вероятным является то, что группа безопасности не настроена должным образом для предоставления доступа SSH через порт 22 к вашему i.p. Для изменения настроек безопасности не требуется перезапуск сервера, чтобы он вступил в силу, но нужно подождать несколько минут, чтобы он был применим.

  • Локальная конфигурация брандмауэра не разрешает SSH доступ к серверу. (вы можете попробовать другое подключение к интернету, ваш телефон / ключ, чтобы попробовать это)

  • Сервер не запущен должным образом (тогда проверки доступа не пройдут даже на консоли Amazon), в этом случае вам нужно будет остановить и запустить сервер.

1 голос
/ 25 октября 2018

Просто перезагрузите инстанс Ec2, как только вы примените правила

0 голосов
/ 29 января 2018

На основе ответа @ted.strauss вы можете выбрать SSH и MyIP из раскрывающегося меню вместо перехода на сторонний сайт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...