На стороне EC2
:
Проверьте входящие правила в соответствующем security group
Так как вы можете подключиться с работы, то у вас уже есть правило входящих в security group
с разрешенными TCP:22
Затем найдите это правило и проверьте его CIDR
. Для работы из дома должно быть разрешено соединение с вашим домашним IP
адресом. Самый простой (и общий c) способ - установить его на 0.0.0.0/0
На стороне клиента:
Проверить, разрешен ли ключ авторизации, и у вас есть правильный ключ
Добавьте к себе домой ~ / .ssh / config:
Host my_ec2_instance
Hostname <your_ec2_IP_address>
User ec2_user # <ubuntu - if you created instance with `ubuntu`-based image >
Port 22
PreferredAuthentications publickey
IdentityFile ~/.ssh/<your_ec2_key>.pub
Проверьте правильность ключа.
Также вы можете проверить порт 22
вручную:
telnet <your_ec2_IP_address> 22
Если предложенные действия не помогли - попробуйте Руководство по устранению неполадок
Отличное Руководство по устранению неполадок для подключения отладочных экземпляров
Попробуйте выполнить следующие действия:
[EC2-VPC] Проверьте таблицу маршрутов на наличие su bnet. Вам нужен маршрут, который отправляет все трафики c, предназначенные вне VP C, в шлюз Inte rnet для VP C.
Откройте Amazon VP C консоль на https://console.aws.amazon.com/vpc/.
На панели навигации выберите Inte rnet Шлюзы. Убедитесь, что к вашему VP C подключен шлюз Inte rnet. В противном случае выберите Создать шлюз Inte rnet и следуйте инструкциям по созданию шлюза Inte rnet, выберите шлюз Inte rnet, а затем выберите Присоединить к VP C и следуйте инструкциям, чтобы прикрепить его к вашему VP *. 1101 *.
На панели навигации выберите Подсети, а затем выберите su bnet.
На вкладке Таблица маршрутов: убедитесь, что существует маршрут с 0.0.0.0/0 в качестве пункта назначения и шлюзом Inte rnet для вашего VP C в качестве цели. В противном случае выберите идентификатор таблицы маршрутов (rtb-xxxxxxxx), чтобы перейти на вкладку «Маршруты» для таблицы маршрутов, выберите «Редактировать», «Добавить другой маршрут», введите 0.0.0.0/0 в пункте «Назначение», выберите свой Inte rnet шлюз из целевого объекта. и затем выберите Сохранить.
UPD: как проверить, разрешает ли ваш провайдер исходящие ssh
соединения
Как сказал оператор, его провайдер может блокировать исходящие ssh
подключений. К счастью, существуют публичные c службы с открытым портом 22
Например, отличный браузер на основе оболочки browsh
принимает подключения через 22 порта.
См. Их руководство :
Live S SH Демо
Просто укажите клиенту S SH на чел. sh, например; ssh brow.sh
. Нет необходимости в авторизации. Услуга предназначена только для демонстрации, сеансы длятся 5 минут и регистрируются.
Итак, вы можете проверить, разрешено ли ваше исходящее соединение провайдером:
$ telnet brow.sh 22
Trying 167.99.26.99...
Connected to brow.sh.
Escape character is '^]'.