Извините, что задаю этот вопрос еще раз, так как я знаю, что его задавали много раз ... Я просмотрел кучу предыдущих сообщений, но мне не повезло. Все перепробовали ...

Шаги:

  1. Запустить экземпляр
  2. Обновите группы безопасности, чтобы разрешить ssh-соединение через порт 22 с моего IP-адреса
  3. Создать новую KeyPair - сохранить файл .pem
  4. Используйте puttygen, чтобы преобразовать его в PPK: Загрузить -> Сохранить закрытый ключ
  5. Попытка подключения шпатлевки к [email protected]использованию моего сохраненного .ppk в качестве ключа аутентификации (загружается по SSH -> Auth )

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

  • Я пробовал использовать cygwin и open-ssh для подключения к загруженному закрытому ключу .pem.
  • Я пробовал установить chmod 600 на свой ПК.
  • Я попытался удалить экземпляр ec2 из файла known_hosts и повторить попытку.
  • Я пробовал использовать, ssh -i <keyDir> -v [email protected]чтобы получить дополнительный вывод для отладки
  • Я пробовал использовать user = ec2-user или root
  • Я попытался загрузить открытый ключ для сгенерированного ключа / пары, созданной с помощью puttygen.
  • Я попытался завершить работу экземпляра и запустить новый ...

Но каждый раз в обязательном порядке получаю следующее:

OpenSSH_6.8p1, OpenSSL 1.0.2d 9 Jul 2015
debug1: Connecting to XX.XX.XXX.XX [XX.XX.XXX.XX] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file .ssh/test.pem type -1
debug1: key_load_public: No such file or directory
debug1: identity file .ssh/test.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.8
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.2
debug1: match: OpenSSH_6.2 pat OpenSSH* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:SUYkrQtUYkQ4Fl2Dh5K/4kc/b0kYliZGrdFdXeHxLtk
debug1: Host 'XX.XX.XXX.XX' is known and matches the ECDSA host key.
debug1: Found key in /home/MY_USERNAME/.ssh/known_hosts:2
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: .ssh/test.pem
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

Я в своем уме и надеюсь, что кто-то другой испытал нечто подобное !!

answer

1.) Launch Instance 2.) Update security-groups to allow ssh connection on port 22 from my ip address 3.) Create new KeyPair - save .pem file

Эти шаги выполнены в неправильном порядке. При создании экземпляра необходимо указать пару ключей, чтобы открытый ключ был правильно развернут.

Предположительно, у вас уже есть пара ключей, созданная в AWS (и вы загрузили закрытый ключ), поэтому все, что вам нужно сделать, это указать эту пару ключей в мастере запуска экземпляра EC2, и вы сможете подключиться.