Доступ к AWS ssh «порт 22: время ожидания операции истекло»

Я не могу получить доступ к экземпляру AWS EC2 с одного дня.
(AMI: ubuntu/images/ebs/ubuntu-precise-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-соединения нет.

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


person QHH    schedule 17.07.2013    source источник
comment
Если вы перезапустили его, вы используете текущий IP-адрес?   -  person datasage    schedule 17.07.2013
comment
Есть ли у вас какие-либо исходящие правила, настроенные в группе безопасности?   -  person Stefan Thorpe    schedule 11.08.2014
comment
Исходящие правила не блокируют связь, если соединение не инициировано с сервера. Но правила Network ACL могут его заблокировать.   -  person Adam Ocsvari    schedule 11.04.2015


Ответы (14)


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

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

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

person Adam Ocsvari    schedule 11.04.2015
comment
Этот контрольный список действительно хорош! Если вы похожи на меня, и все было идеально (но по-прежнему не удается подключиться), попробуйте сменить интернет-провайдера. Мне пришлось отключить домашний Wi-Fi, затем подключиться к Интернету, используя точку доступа моего телефона, и тогда я смог успешно подключиться по SSH к своему экземпляру EC2. Забавно то, что затем я смог переключиться обратно на домашний Wi-Fi, и внезапно SSH заработал, поэтому мне не нужно было оставаться в точке доступа. - person chemturion; 03.03.2019

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

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

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

person Thiagarajan Ramanathan    schedule 03.01.2019
comment
Это был именно мой случай, единственная проблема в том, что я увидел ваш ответ сразу после того, как случайно обнаружил, что интернет-шлюз не связан с таблицей маршрутов! Спасибо в любом случае! - person Burak Karakuş; 22.09.2020

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

person spacewanderer    schedule 13.06.2018

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

person San    schedule 27.01.2017

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

SSH TCP 22 0.0.0.0/0

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

person Duru Cynthia Udoka    schedule 18.10.2019

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

person Diego Fernández Durán    schedule 22.08.2013
comment
У меня точно такая же проблема. Даже после настройки ElasticIP у меня все еще та же проблема. Я проверяю свой брандмауэр, и он не включен на моей локальной машине. Что еще я должен проверить, чтобы убедиться? Кстати, я из Малайзии, а мой сервер в Орегоне. Будет ли это проблемой? - person sooon; 21.02.2014

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

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

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

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

person orli    schedule 22.09.2019

Я использовал общедоступный Wi-Fi в библиотеке, и это не позволяло мне подключиться, о чем я узнал, когда переключился на свою мобильную точку доступа Wi-Fi (защищенную паролем). Попробуйте переключиться на защищенную сеть.

person Asheesh Janghu    schedule 05.01.2020

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

Проверьте связанный экземпляр EC2

И попробуйте эти шаги

  1. подсеть, таблица маршрутов и разрешенные блоки CIDR
  2. пара ключей, связанная с инстансом EC2
  3. группа безопасности ssh порт 22 разрешена или нет.
person Prabhu    schedule 05.01.2020

Если вы подключаетесь с новой машины, убедитесь, что IP-адрес машины, с которой вы обращаетесь, включен в правила для входящих подключений. Если нет, добавьте правило SSH | TCP | Порт: 22 | Источник: МОЙ IP

person Hasan    schedule 09.02.2020

Для меня мне пришлось удалить все свои правила для группы безопасности для конкретного экземпляра и создать новые правила для тех же ssh, http и https.

По какой-то причине после остановки экземпляра и запуска его позже мой IP-адрес изменился... возможно, потому, что я переключил свое устройство для подключения к Wi-Fi.

Но установка новых правил с новым IP-адресом сработала! Вы можете проверить ip, погуглив myip

person Pogo    schedule 05.07.2020

Что ж, если это произошло внезапно, попробуйте отключиться и снова подключиться к вашему VPN (при доступе через VPN). Это может сработать!

person Surabhi Amit Chembra    schedule 08.08.2020

Я смог исправить это, просто следуя этой инструкции

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html

Он устанавливает вашу пару закрытых ключей, а также группу безопасности. Проблема, я думаю, в основном из-за того, что группа безопасности по умолчанию не имеет входящего ssh для вашей локальной настройки IP.

person Liu Hantao    schedule 17.09.2020

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

person Sarang Kartikey    schedule 12.11.2018