Назад | Перейти на главную страницу

Не удается подключиться к Amazon EC2 по SSH

Это мой первый экземпляр Amazon EC2, но мне трудно, и Google не может мне помочь. Вот шаги, которые я предпринял:

  1. Создайте пару ключей под названием aws
  2. Загрузите aws.pem и поместите в мою папку / Users / Jim / Documents / sshkeys
  3. CHmod для файла и папки на 700
  4. Создайте экземпляр из официального AMI Amazon Debian 6
  5. Убедитесь, что настройки безопасности включают SSH на порт 22 (TCIP 22 (SSH) 0.0.0.0/0)
  6. Выполните эту команду:

ssh -v -i /Users/James/Documents/sshkeys/aws.pem root @ myec2ip

Я получаю следующее сообщение:

  • OpenSSH_5.9p1, OpenSSL 0.9.8r 8 февраля 2011 г.
  • debug1: чтение данных конфигурации / etc / ssh_config
  • debug1: / etc / ssh_config строка 20: Применение параметров для *
  • debug1: подключение к порту myec2ip 22.
  • debug1: соединение установлено.
  • debug1: файл идентификации /Users/James/Documents/sshkeys/aws.pem type -1
  • debug1: файл идентификации /Users/James/Documents/sshkeys/aws.pem-cert тип -1
  • debug1: версия удаленного протокола 2.0, версия удаленного программного обеспечения OpenSSH_5.5p1 Debian-6 + squeeze3
  • debug1: match: OpenSSH_5.5p1 Debian-6 + squeeze3 pat OpenSSH * debug1: Включение режима совместимости для протокола 2.0
  • debug1: строка локальной версии SSH-2.0-OpenSSH_5.9
  • debug1: SSH2_MSG_KEXINIT отправлен
  • debug1: получен SSH2_MSG_KEXINIT
  • debug1: kex: server-> client aes128-ctr hmac-md5 нет
  • debug1: kex: client-> server aes128-ctr hmac-md5 нет
  • debug1: SSH2_MSG_KEX_DH_GEX_REQUEST (1024 <1024 <8192) отправлено
  • debug1: ожидается SSH2_MSG_KEX_DH_GEX_GROUP
  • debug1: отправлено SSH2_MSG_KEX_DH_GEX_INIT
  • debug1: ожидание SSH2_MSG_KEX_DH_GEX_REPLY
  • debug1: ключ хоста сервера: RSA ef: 06: a0: a3: 26: 9f: c5: e7: c0: a6: 0d: 9a: 1a: 24: 27: ef
  • debug1: Хост myec2ip известен и соответствует ключу хоста RSA.
  • debug1: найден ключ в /Users/James/.ssh/known_hosts:6
  • debug1: ssh_rsa_verify: подпись верна
  • debug1: SSH2_MSG_NEWKEYS отправлено
  • debug1: ожидание SSH2_MSG_NEWKEYS
  • debug1: получено SSH2_MSG_NEWKEYS
  • debug1: роуминг не разрешен сервером
  • debug1: SSH2_MSG_SERVICE_REQUEST отправлен
  • debug1: получен SSH2_MSG_SERVICE_ACCEPT
  • debug1: аутентификация, которая может продолжаться: publickey
  • debug1: Следующий метод аутентификации: publickey
  • debug1: использование закрытого ключа: /Users/James/Documents/sshkeys/aws.pem
  • debug1: чтение закрытого ключа PEM выполнено: введите RSA
  • debug1: аутентификация, которая может продолжаться: publickey debug1: больше нет методов аутентификации, чтобы попробовать. В разрешении отказано (публичный ключ).

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

Скорее всего это у вас в /etc/ssh/sshd_config:

PermitRootLogin no

Однако это хорошо. Если вы хотите выполнять привилегированные действия, вы должны делать их с sudo или, по крайней мере, запустить корневую оболочку с sudo -s.

Вероятно, причина неудачного входа в систему /var/log/auth.log на сервере. Не похоже, что вы поместили открытый ключ в /root/.ssh/authorized_keys на вашем сервере, где он должен быть для входа root.


Похоронен в мелкий шрифт здесь это лакомый кусочек, которым является пользователь по умолчанию админ, а не root в Debian AMI. Вот где Amazon поместит открытый ключ, соответствующий загруженному вами закрытому ключу. Использовать это:

ssh -i /Users/James/Documents/sshkeys/aws.pem admin@myec2ip

Пользователь по умолчанию ec2-user в Amazon AMI и ubuntu в Ubuntu AMI. Ни о каких других не знаю.

  1. Загрузите .pem файл где угодно
  2. chmod 400 file.pem
  3. ssh -i file.pem ec2-user@ip (Дистрибьютор Amazon AWS) или admin@ip в системе LInux.

Попробуйте использовать "ec2-user" вместо root.

ec2-user@192.123.x.x

И файл pem является как открытым, так и закрытым ключом. Итак, попробуйте сохранить его как открытый ключ с помощью puttygen.