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
Я тоже столкнулся с той же проблемой. Собственно, по ошибке я удалил интернет-шлюз по умолчанию.
- Перейдите в VPC и нажмите "Интернет-шлюзы" в левом меню.
- Нажмите кнопку "Создать интернет-шлюз" и укажите тег имени (любое имя - необязательно) и нажмите "Создать".
- По умолчанию он отключен. Поэтому нажмите раскрывающийся список "Действия", выберите "Присоединить к VPC" и присоедините его с VPC по умолчанию.
- Теперь перейдите в "Таблицу маршрутов", выберите таблицу маршрутов по умолчанию и отредактируйте маршрут, нажав кнопку "Редактировать маршруты" на вкладке "Маршруты"
- .Затем в текстовом поле "Назначение" укажите "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 и перезапустить. Это сработало для меня!