Просто установите новый экземпляр EC2, загрузите файл pem и в настоящее время не можете попасть в коробку. Я использую команду ...
$ ssh -i .ssh/key.pem ubuntu@ec2-176-34-183-***.eu-west-1.compute.amazonaws.com
... и вас просят ввести кодовую фразу. Я не назначал парольную фразу при создании пары ключей! Почему это могло происходить?
Итак, я покопался и узнал, как удалить кодовую фразу из ключа:
$ openssl rsa -in key.pem -out key-nopass.pem
По-прежнему никакой радости, хотя кодовая фраза действительно удалена. Вот мой подробный результат:
OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /home/bob/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to ec2-176-34-183-***.eu-west-1.compute.amazonaws.com [176.34.183.***] port 22.
debug1: Connection established.
debug1: identity file key-nopass.pem type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3p1 Debian- 3ubuntu7
debug1: match: OpenSSH_5.3p1 Debian-3ubuntu7 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu7
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'ec2-176-34-183-***.eu-west-1.compute.amazonaws.com' is known and matches the RSA host key.
debug1: Found key in /home/bob/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
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: key-nopass.pem
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
Разрешения для файла pem, кстати, установлены на 600. Почему я не могу войти в систему?
Здесь может происходить несколько вещей. Прежде всего, похоже, что вы пытаетесь войти в систему под пользователем ubuntu. Вы уверены, что этот пользователь существует и что эта пара ключей связана с этим пользователем? Я бы попробовал вместо этого войти в систему как root и посмотреть, работает ли это.
Другая возможность состоит в том, что ваш закрытый ключ неверен. Вы загрузили его напрямую или создали ключ с помощью копирования / вставки? Если последнее, возможно, вы наклеили его неправильно.
Разрешения правильные, поэтому оно должно быть одним из указанных выше. Закрытого ключа либо нет в authorized_keys, где вы пытаетесь войти, либо у вас неправильный / поврежденный ключ.