Возможные причины таймаута при попытке доступа к экземпляру EC2

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

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

Ответ 1

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

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

Ответ 2

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

enter image description here

Ответ 3

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

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

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

  • Создать 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

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

Предложение

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

Ответ 4

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

Ответ 5

Чтобы подключить использование ssh так:

ssh -i keyname.pem [email protected]

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

Когда он истечет или не работает, проверьте следующее:

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

Убедитесь, что для входящего правила для tcp-порт 22 и всех ips или ip. Группу безопасности можно найти через меню ec2 в параметрах экземпляра.

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

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

Эластичный IP

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

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

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

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

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

Ответ 6

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

Ответ 7

введите описание изображения здесь

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

Примечание. ssh ip 120.138.105.251/32

  • НЕ УДАЛИТЬ IP ADDRESS

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

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

НО НО НО

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

ЕСЛИ ВЫ ХОТИТЕ ПОЛНОСТЬЮ ОТКРЫТЬ SSH ДЛЯ ВСЕХ АДРЕСОВ IP введите описание изображения здесь

ЭТО КАК ПОЛНОСТЬЮ ДОСТУПНЫ ВСТУПЛЕНИЯ В ЗАВИСИМОСТИ - ОСНОВНЫЕ РЕКОМЕНДАЦИИ введите описание изображения здесь

ЭТО, ЧТО Я ЕСЛЯЮ В ПРОИЗВОДСТВЕ введите описание изображения здесь

Ответ 8

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

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

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

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

Ответ 9

Просто перезагрузите инстанс Ec2 после применения правил

Ответ 10

Еще одна возможность. Группы безопасности AWS настроены на работу только с определенными входящими IP-адресами. Если ваша группа безопасности настроена таким образом, вы (или владелец учетной записи) должны будете добавить свой IP-адрес в группу безопасности. В этом случае откройте панель управления AWS, выберите группы безопасности, выберите группу безопасности и щелкните вкладку входящих. Затем добавьте свой ip, если это необходимо.

Ответ 11

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

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

Ответ 12

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

Ответ 13

Если SSH-доступ не работает для вашего экземпляра EC2, вам необходимо проверить:

  • Группа безопасности для вашего экземпляра разрешает доступ к входящей SSH (проверка: правила просмотра).

Если вы используете экземпляр VPC (у вас есть идентификатор VPC и идентификатор подсети, прикрепленный к вашему экземпляру), проверьте:

  • В VPC Dashboard найдите использованный идентификатор подсети, который подключен к VPC.
  • Проверьте прилагаемую таблицу маршрутов, которая должна иметь 0.0.0.0/0 как Destination и ваш интернет-шлюз в качестве Target.

В Linux вы также можете проверить информацию о маршруте в системном журнале в сети, например:

++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++
+--------+------+------------------------------+---------------+-------+-------------------+
| Device |  Up  |           Address            |      Mask     | Scope |     Hw-Address    |
+--------+------+------------------------------+---------------+-------+-------------------+
|   lo   | True |          127.0.0.1           |   255.0.0.0   |   .   |         .         |
|  eth0  | True |         172.30.2.226         | 255.255.255.0 |   .   | 0a:70:f3:2f:82:23 |
+--------+------+------------------------------+---------------+-------+-------------------+
++++++++++++++++++++++++++++Route IPv4 info+++++++++++++++++++++++++++++
+-------+-------------+------------+---------------+-----------+-------+
| Route | Destination |  Gateway   |    Genmask    | Interface | Flags |
+-------+-------------+------------+---------------+-----------+-------+
|   0   |   0.0.0.0   | 172.30.2.1 |    0.0.0.0    |    eth0   |   UG  |
|   1   |   10.0.3.0  |  0.0.0.0   | 255.255.255.0 |   lxcbr0  |   U   |
|   2   |  172.30.2.0 |  0.0.0.0   | 255.255.255.0 |    eth0   |   U   |
+-------+-------------+------------+---------------+-----------+-------+

где флаги UG показывают ваш интернет-шлюз.

Подробнее см. Устранение неполадок при подключении к вашему экземпляру в документах Amazon.

Ответ 14

Ознакомьтесь с этой справочной страницей в документах AWS:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectionTimeout Вы, вероятно, найдете свое решение там. для меня эта часть сделала исправление:

[EC2-VPC] Проверьте таблицу маршрутов для подсети. Вам нужен маршрут, который отправляет весь трафик, предназначенный за пределами VPC, для интернет-шлюза для VPC.

  • Откройте консоль VPC Amazon на https://console.aws.amazon.com/vpc/.

  • В навигационной панели выберите Интернет-шлюзы. Убедитесь, что на вашем VPC установлен интернет-шлюз. В противном случае выберите "Создать". Интернет-шлюз и следуйте инструкциям по созданию Интернета шлюз, выберите интернет-шлюз, а затем выберите "Присоединить к VPC" и следуйте инструкциям, чтобы прикрепить его к VPC.

  • В навигационной панели выберите Подсети, а затем выберите свою подсеть.

  • На вкладке "Таблица маршрутов" убедитесь, что в качестве адресата есть маршрут с 0.0.0.0/0 и шлюз Интернета для вашего VPC как цель. В противном случае выберите идентификатор таблицы маршрутов (rtb-xxxxxxxx), чтобы перейдите на вкладку "Маршруты" для таблицы маршрутов, выберите "Редактировать", "Добавить" другой маршрут, введите 0.0.0.0/0 в Destination, выберите свой Интернет шлюз от Target, а затем выберите "Сохранить".

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

Ответ 15

Моя проблема. У меня был порт 22, открытый для "My IP", и изменилось подключение к Интернету и изменение IP-адреса. Так что пришлось изменить его.

Ответ 16

Чтобы включить ssh-доступ из Интернета для экземпляров в подсети VPC, выполните следующие действия:

  • Прикрепите интернет-шлюз к VPC.
  • Убедитесь, что таблица маршрутов подсети указывает на интернет-шлюз.
  • Убедитесь, что экземпляры вашей подсети имеют глобально уникальный IP-адрес (общедоступный IPv4-адрес, Упругий IP-адрес или IPv6-адрес).
  • Убедитесь, что ваш контроль доступа к сети (на уровне VPC) и правила группы безопасности (на уровне ec2) позволяют передавать соответствующий трафик в ваш экземпляр и из вашего экземпляра. Убедитесь, что ваш IP-адрес сети включен для обоих. По умолчанию Network AcL разрешает весь входящий и исходящий трафик, за исключением явно настроенных иначе

Ответ 17

Для меня это был сервер Apache, размещенный на экземпляре t2.micro linux EC2, а не сам экземпляр EC2.

Я исправил это, выполнив:

sudo su

service httpd restart

Ответ 18

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

Ответ 19

У меня была такая же проблема, и я решил ее, добавив правило в группы безопасности

Входящий SSH 0.0.0.0/0

Или вы можете добавить только свой IP-адрес

Ответ 20

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

Ответ 21

Я работал над экземпляром, и это было нормально, уже на следующий день, когда я попытался использовать SSH в своем экземпляре, он сказал: "Время ожидания соединения.

Я пытался пройти этот пост, но ничего не получалось. Так я и сделал -

В столбце " Edit inbound rules из источника" выберите " MY IP и он автоматически заполнит ваш общедоступный IP-адрес в формате CIDR (XXX.XXX.XXX.XX/32).

Я попытался ответить @ted.strauss, указав локальный IP, но в моем случае это не помогло. Поэтому я выбираю МОЙ IP, и это сработало.

Надеюсь, это поможет кому-то!

Ответ 22

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

Ответ 23

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

Ответ 24

Я думаю, что вы удалили каким-то образом vpc по умолчанию в aws, если вы создаете vpc по умолчанию, то ваша проблема решена