AWS ssh access 'port 22: Operation timed out' issue

Я не могу получить доступ к экземпляру AWS EC2 с одного дня.
(AMI: ubuntu/images/ebs/ubuntu-exact-12.04-amd64-server-20121001 (ami-22ad1223))

$ ssh -v -i mykey.pem [email protected]
OpenSSH_5.9p1, OpenSSL 0.9.8x 10 May 2012
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] port 22.
debug1: connect to address xxx.xxx.xxx.xxx port 22: Operation timed out
ssh: connect to host xxx.xxx.xxx.xxx port 22: Operation timed out

Это мои настройки "Группы безопасности" в EC2.
Я не изменил настройку с того момента, когда у меня была хорошая связь.

Ports  Protocol  Source
22      tcp     0.0.0.0/0
80      tcp     0.0.0.0/0
3000    tcp     0.0.0.0/0
3006    tcp     0.0.0.0/0

Я много раз пытался перезагрузить сервер.
Веб-сервер идет хорошо. Однако SSH-соединение не является.

Что может быть проблемой и как заставить ее работать?

Ответ 1

Мой обычный контрольный список:

  • На консоли AWS: находится ли экземпляр вверх и здорово?
  • Это в общедоступной подсети?
  • Есть ли у него публичный ip?
  • У VPC есть интернет-шлюз?
  • Имеет ли таблица маршрутизации интернет-шлюз? (Прикреплено к подсети?)
  • Соответствует ли сетевому ACL по умолчанию?
  • Предоставляет ли группа безопасности возможность ping? Если да, работает ли ping?
  • Предоставляет ли группа безопасности доступ к SSH?

Если до сих пор нет подсказки, запустите новый экземпляр (из базового AMI) в том же VPC. Подключитесь к нему через SSH. Если это было успешно, попробуйте ssh из этого экземпляра.

Ответ 2

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

Ответ 3

Я тоже столкнулся с той же проблемой. Собственно, по ошибке я удалил интернет-шлюз по умолчанию.

  1. Перейдите в VPC и нажмите "Интернет-шлюзы" в левом меню.
  2. Нажмите кнопку "Создать интернет-шлюз" и укажите тег имени (любое имя - необязательно) и нажмите "Создать".
  3. По умолчанию он отключен. Поэтому нажмите раскрывающийся список "Действия", выберите "Присоединить к VPC" и присоедините его с VPC по умолчанию.
  4. Теперь перейдите в "Таблицу маршрутов", выберите таблицу маршрутов по умолчанию и отредактируйте маршрут, нажав кнопку "Редактировать маршруты" на вкладке "Маршруты"
  5. .Затем в текстовом поле "Назначение" укажите "0.0.0.0/0" и в целевой программе выберите только что созданный интернет-шлюз (начинается с igw-буквенно-цифровой) и сохраните маршрут.

Теперь вы должны быть в состоянии SSH EC2 экземпляр.

Ответ 4

Убедитесь, что вы подключаетесь к общедоступному динамическому IP или связываете ElasticIP и подключаетесь к нему.

Ответ 5

В дополнение к ответу Адама также проверьте, использует ли ваша таблица RT в публичной подсети IGW, а RT RT в частных подсети имеет 0.0.0.0/0 → идентификатор экземпляра NAT.

Ответ 6

Если это произойдет "с одного дня", IP-адрес, с которым связан ваш экземпляр AWS EC2, может быть заблокирован с этого дня.

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

Этапы:
1. Перейдите к "Эластичные IP-адреса".
2. Назначьте новый адрес.
3. Выберите этот новый адрес. Нажмите "Действия" и "Связать адрес".
4.Выберите свой экземпляр и нажмите "Связать".

В моем случае добавление нового динамического IP-адреса в мой экземпляр AWS EC2 устранило проблему (моя проблема заключалась в том, что я не могу получить доступ к экземпляру AWS EC2 за один день)

Ответ 7

Пожалуйста, создайте новую группу безопасности и выберите тип SSH

SSH TCP 22 0.0.0.0/0

enter image description here

Ответ 8

Попробуйте остановить экземпляр ec2 и перезапустить. Это сработало для меня!