SSH к инстансу Amazon EC2 с использованием PuTTY в Windows

Я новичок в веб-сервисах Amazon, пытался запустить экземпляр Amazon и SSH к нему с помощью шпатлевки из окон. Я выполнил следующие шаги:

  1. Создал пару ключей.

  2. Добавлено правило группы безопасности для SSH и HTTP.

  3. Запущен и экземпляр EC2 с использованием указанной выше пары ключей и группы безопасности.

  4. Использование PuTTYgen преобразовало файл *.pem в *.ppk

  5. С помощью putty попытался подключиться к общедоступному DNS экземпляра и предоставил файл *.ppk.

Я вошел в систему, используя «root» и «ec2-user», и создал файл PPK, используя SSH1 и SSH2, для всех этих попыток я получаю следующую ошибку в замазке:

«Сервер отказался от нашего ключа»

Не могли бы вы, ребята, помочь, любые предложения были бы очень признательны.


person konkani    schedule 23.04.2012    source источник
comment
Возможно, вы захотите взглянуть на это: wowza.com/forums/   -  person Silviu    schedule 24.04.2012
comment
Какую ОС вы используете для AMI?   -  person Geoff    schedule 24.04.2012
comment
@Geoff: спасибо! Я использую amzn-ami-2011.09.1.x86_64-ebs (ami-7341831a), в котором указано, что есть платформа Amazon Linux.   -  person konkani    schedule 24.04.2012
comment
спасибо, я проверил эту ссылку перед тем, как опубликовать вопрос, я выполняю все шаги, упомянутые в ней. По-прежнему возникает ошибка!   -  person konkani    schedule 24.04.2012
comment
Если вы используете Amazon Linux, вам следует использовать ec2-user для входа в систему - root никогда не будет работать. Но вы тоже уже пробовали ec2-user. Вы абсолютно уверены, что экземпляр настроен на использование этой пары ключей? И что вы подключаетесь к правильному эластичному IP-адресу или общедоступному DNS AWS для своего экземпляра?   -  person Daan    schedule 24.04.2012
comment
Я ответил на вопрос здесь по аналогичной проблеме. Вот как я решил проблему: stackoverflow.com/questions/11614254/ HTH!   -  person Darius    schedule 08.01.2013
comment
Что ж, ec2-user у меня работает после выполнения шагов по созданию .ppk из .pem в этом видео < / а>   -  person bobobobo    schedule 14.01.2014


Ответы (15)


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

person mikeabout    schedule 06.01.2013
comment
Это круто. Не прикрыл ни одного очевидного места, которое я нашел. - person Rig; 27.10.2013
comment
Великолепно :-) Прошло два года, а документация Amazon все еще не обновлена, и в ней указано, что пользователь является ec2-пользователем для всех AMI Amazon Linux. Я бы разумно принял это как ответ, даже если ОП переместился. - person Jason; 29.04.2014
comment
@Jason Пользователь всех AMI Amazon Linux ec2-user. Ubuntu - это не Amazon Linux. Amazon Linux - это особый дистрибутив Linux от Amazon. Amazon также предоставляет другие дистрибутивы Linux, такие как RHEL (пользователь - ec2-пользователь или root), CentOS (пользователь - centos), Ubuntu (пользователь - ubuntu или root), Fedora (пользователь - ec2-пользователь) и SUSE (пользователь - ec2). -пользователь или root). - person jarmod; 31.05.2017


Другая ситуация, когда я получил ошибку «Сервер отказался от нашего ключа» при использовании шпатлевки из окон в ssh для экземпляра EC2, работающего под управлением ubuntu:

Закрытый ключ был ошибочно преобразован из .pem в .ppk.

В puttygen есть два варианта «преобразования ключей».

  1. Загрузите файл .pem в puttygen, используя параметр Файл-> Загрузить закрытый ключ, а затем сохраните как файл .ppk, используя кнопку Сохранить закрытый ключ.
  2. НЕ используйте пункт меню Конверсии-> Импортировать ключ для загрузки файла .pem, созданного EC2.
    # P4 #

Правильный вариант меню с помощью puttygen  Отжать пункт меню с помощью puttygen

person prajod    schedule 06.01.2016

Проверьте имя пользователя, оно должно быть «ubuntu» для вашей машины. Проверьте, включен ли трафик на порт 22 в группе безопасности. Убедитесь, что вы используете правильный URL-адрес, т.е. ubuntu @ public / elasticip

person Mohit Singh    schedule 14.04.2015
comment
Хорошо, ты тоже выполнил мой запрос - person Vikas Kukreti; 03.05.2015

Возможно, стоит проверить еще кое-что. Перейдите в консоль AWS, щелкните экземпляр правой кнопкой мыши и выберите «Подключить ...». Он покажет вам DNS-имя, которое вы хотите использовать. Если вы в какой-то момент перезапустили этот экземпляр, это DNS-имя могло измениться.

person Sandron    schedule 23.04.2012

У меня возникла аналогичная проблема, когда я попытался подключить экземпляр, автоматически созданный службой Elastic Beanstalk (EBS). Но как только я связал свое существующее имя ключа с EBS (в разделе «Сведения о среде» -> «Изменить конфигурацию» -> вкладка «Сервер» -> «Существующая пара ключей»), я смог войти в систему с помощью «ec2-user» и моего существующего файла ключей (преобразованного в .ppk) замазкой.

Однако это завершает работу запущенного экземпляра и перестраивает новый экземпляр с доступом через указанную выше пару ключей.

person RVK    schedule 14.05.2013

На всякий случай, если это поможет кому-то еще, я столкнулся с этой ошибкой после изменения разрешений на домашнюю папку в моем экземпляре. Я что-то тестировал и выполнил chmod -R 777 в своей домашней папке. Как только это произошло, как только я вышел из системы, я был фактически заблокирован.

person Jamie Poole    schedule 05.03.2015

Вы не столкнетесь с этой ошибкой, если используете SSH AWS напрямую, используя файл «.pem» вместо преобразованного файла «.ppk».

1) Используйте Git Bash вместо putty. Поскольку вы можете запускать все команды Linux в Git Bash. Установив Git, вы получите доступ к терминалу Git Bash.

2) Щелкните правой кнопкой мыши папку, в которой есть «.pem», и выберите «Git Bash Here».

3) Для работы SSH ваш ключ не должен быть общедоступным. Итак, запустите "chmod 400 pemfile.pem".

4) Подключитесь к своему экземпляру, используя его общедоступный DNS - "ssh -i" pemfile.pem "[email protected]"

5) Убедитесь, что ваш сетевой IP-адрес для SSH занесен в белый список в your_instance-> security_group-> inbound_rules

person Gnanasekar S    schedule 02.04.2020
comment
использование Git Bash вместо Putty сработало для меня. Благодарю вас! - person Osusara Kammalawatta; 10.09.2020

Я предполагаю, что вы следуете этому руководству и подключаетесь, используя инструкции на на следующей странице. Проверьте пару вещей:

  1. Вы правильно преобразовали ключ, например выбрал правильный файл .pem, сохраненный как закрытый ключ, 1024-битный SSH-2 RSA
  2. Настройки аутентификации (шаг 4 в руководстве по подключению) верны
person Geoff    schedule 23.04.2012

У меня была такая же проблема (и я предпринял те же шаги), пока я не изменил имя пользователя на «admin» для Debian AMI, который я использовал.

Вам следует найти имя пользователя используемого вами AMI. AMI для debian задокументирован здесь http://wiki.debian.org/Cloud/AmazonEC2Image/Squeeze

person remipod    schedule 30.03.2013

У меня была такая же проблема. AMI, который вы используете, также используется в решении для создания шаблонов Cloud Formation.

В конце концов я отказался от этого и создал экземпляр Red Hat. Затем я смог подключиться по SSH, используя пользователя root.

Инструкции здесь: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html отлично работает с экземпляром Red Hat, но не с экземпляром Amazon Linux. Я предполагаю, что у них есть какое-то имя пользователя, которое я не подумал попробовать (root, ec2-user и многие другие очевидные, все были отклонены)

Надеюсь, это кому-то поможет!

person Coder    schedule 11.04.2013
comment
Обновление: с тех пор я создал настройку формирования облака, и у меня все в порядке с SSH. На этот раз я использовал шаблон, который позволяет указать пару ключей. Многие стандартные шаблоны не позволяют этого, что, поскольку вы, похоже, не можете добавить пары ключей после создания, означает, что вы никогда не сможете использовать SSH. - person Coder; 12.04.2013

Я использую Debain AMI и пытаюсь использовать ec2-user, root, но правильный логин - «admin».

person Ace    schedule 18.12.2013

Я получал ту же ошибку, когда пытался создать новую пару ключей и пытался использовать этот новый файл pem / ppk. Я заметил, что поле Key Pair Name на экземпляре все еще старое и находится в поиске. Очевидно, вы не можете изменить пару ключей. Поэтому я вернулся к исходной паре ключей. К счастью, я ничего не удалил, так что это оказалось достаточно просто.

person nomadic_squirrel    schedule 02.02.2015

Попробуйте альтернативный клиент SSH, например Poderosa. Он принимает файлы pem, поэтому вам не нужно преобразовывать файл ключей.

person Barak    schedule 16.10.2012
comment
Poderosa нужен оригинальный pem-файл, но преобразованный, созданный puttygen - person Barak; 28.06.2013
comment
Poderosa нужен оригинальный pem-файл, а НЕ преобразованный, созданный puttygen - person Barak; 30.06.2013

Если у вас уже есть пара ключей, выполните следующие действия: Преобразуйте * .pem в * .ppk с помощью PuTTYgen (загрузите ключ файла pem, затем сохраните ppk) Добавьте файл ключа аутентификации ppk в Putty SSH ›Параметры аутентификации Введите имя хоста (или IP-адрес) поле: ubuntu @ your-ip-address-of-ubuntu-ec2-host))

person Artem Kurganov    schedule 01.12.2020