Я создал новый экземпляр (крошечный 64-битный AMI linux от Amazon). Создал новую пару ключей под названием «mir». Я загрузил mir.pem
и положил в мой ~/.ssh
папка. Я даже сделал ssh-add mir.pem
.
Затем я попытался ssh ubuntu@public_DNS_from_amazon
Почему не работает !?
Пытаться ssh ubuntu@your.host.name -i your-private.key
, вместо того ssh-add
ключ.
Да, и убедитесь, что вы разрешили TCP-порт 22 через группу безопасности.
Разрешает ли группа безопасности (конфигурация брандмауэра) доступ по SSH?
Более конкретно - на странице консоли управления AWS выберите Группы безопасности на левой панели (внизу). На правой нижней панели выберите вкладку «Входящие» и убедитесь, что выбрано «Пользовательское правило TCP». Введите 22 в качестве номера порта, нажмите кнопку «Добавить правило», затем кнопку «Применить изменения правила». Не нужно перезапускать или перезагружать ваш экземпляр, просто нужно включить TCP-порт 22 для входящих подключений
Попробуйте использовать в качестве имени пользователя root или ec2-user.
Это происходило со мной на некоторых из моих коробок EC2. В общем, похоже, что если процесс забирает весь процессор или плохо себя ведет, и вы отключаетесь, SSH может не сработать, когда вы попытаетесь повторно подключиться. Часто помогает перезагрузка бокса через консоль AWS.
Вам нужно открыть ssh-доступ к вашим экземплярам с помощью ec2-authorize default -p 22
команда. Вы это сделали?
Также можно запустить экземпляр, не связывая его с парой ключей. Вы можете дважды проверить, что при запуске экземпляра вы сделали это с той парой ключей, которую хотели. Если экземпляр запущен с неправильной парой ключей, вам необходимо перезапустить свой экземпляр.
Пытаться
ssh -i ~/.ssh/mir.pem ec2-user@xxx.xxx.xxx.xxx
где x - ваш публичный IP
Чтобы войти в свой ящик AMI, вы используете ec2-user
. Это означает, что вы должны использовать следующее для входа в систему: ssh -i mir.pem ec2-user@public_dns
чтобы залогиниться.