Подтвердить что ты не робот

Ошибка подключения AWS SSH: разрешение отклонено (publickey)

Я пытаюсь подключиться к моему экземпляру EC2 с SSH и Iḿ сходить с ума. Я прочитал это сообщение и пробовал все комбинации пользователей:

AWS ssh access "Разрешение отказа (публикация)"

Он все еще не работает для меня. Любая идея, что мне не хватает?

  [email protected]:~/keys$ ssh -v -i ec2-key-pair.pem [email protected]
OpenSSH_6.6, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to ec2-54-72-242-0.eu-west-1.compute.amazonaws.com [54.72.242.0] port 22.
debug1: Connection established.
debug1: identity file ec2-key-pair.pem type -1
debug1: identity file ec2-key-pair.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6p1 Ubuntu-2ubuntu1
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 e4:06:ee:a5:a5:d2:97:5f:0f:b7:06:5e:f2:b3:da:26
debug1: Host 'ec2-54-72-242-0.eu-west-1.compute.amazonaws.com' is known and matches the ECDSA host key.
debug1: Found key in /home/roberto/.ssh/known_hosts:3
debug1: ssh_ecdsa_verify: signature correct
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: ec2-key-pair.pem
debug1: key_parse_private2: missing begin marker
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

UPDATE: 

В соответствии с предложениями @aldanux:

    [email protected]:~/keys$ ssh-keygen -R 54.72.242.0
# Host 54.72.242.0 found: line 4 type ECDSA
/home/roberto/.ssh/known_hosts updated.
Original contents retained as /home/roberto/.ssh/known_hosts.old
[email protected]:~/keys$ ssh -i ec2-key-pair.pem [email protected]
Warning: Permanently added the ECDSA host key for IP address '54.72.242.0' to the list of known hosts.
Permission denied (publickey).
4b9b3361

Ответ 1

Попробуйте выполнить следующие действия:

ssh-keygen -R 54.72.242.0

sudo chmod 600 ec2-key-pair.pem

а затем:

ssh -i ec2-key-pair.pem [email protected]

Ответ 2

Возможно, вы вошли в систему как неправильный пользователь. Если это экземпляр Ubuntu, команда будет следующей:

ssh -v -i ec2-key-pair.pem [email protected]

Ответ 3

Хотя это не относится к AWS, это бесполезное сообщение об ошибке

debug1: key_parse_private2: missing begin marker

произойдет под несколькими неясными сценариями, например, когда права собственности (или разрешения) в домашнем каталоге пользователя SSH неверны на удаленной машине.

Лучший способ устранения этого и подобных неясных сообщений - проверить журнал авторизации на удаленном компьютере, при условии, что у вас есть доступ, поскольку он обычно выявляет проблему. В системах Debian и Ubuntu это проще всего выполнить с помощью tail (используйте sudo, если необходимо):

tail -f -n 80 /var/log/auth.log

В моем конкретном случае я нашел

Authentication refused: bad ownership or modes for directory /var/www

Совершенно точная и краткая: для владельца: группа была установлена ​​ daemon:daemon, когда она должна была быть www-data:www-data (это было на машине Ubuntu, на которой в прошлом был установлен другой веб-сервер).

Ответ 4

У меня была аналогичная проблема: "key_parse_private2: missing begin marker" при использовании имени пользователя "ec2-user", но он был исправлен, когда я перешел на ubuntu как пользователь.

Ответ 5

Еще одна вещь, которую нужно проверить: PermitRootLogin и AllowUsers в /etc/ssh/sshd_config.

Этот debug1: key_parse_private2: missing begin marker появляется даже после успешной авторизации ключа, если ваш доступ к пользователю ограничен.

Ответ 6

Да, действительно довольно вводящее в заблуждение сообщение. В моем случае я использовал неправильный ключ, например.

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

Сообщение об ошибке было таким же, поэтому стоит проверить имя ключа в вашей панели aws экземпляра, соответствующей паре ключей, которую вы используете в ключевом паритете.

Ответ 7

Вход для меня как "admin" работал у меня. На основе вашего типа экземпляра пользователь входа в систему изменяется. ec2-user или ubuntu или в моем случае admin. ssh -v -i./my_key_file.pem [email protected]

Также убедитесь, что разрешение для файла pem равно 600 chmod 600./my_key_file.pem

Ответ 8

Один простой способ получить эту ошибку - поврежденный файл .pem.

Например, если строка last отсутствует, вы получаете "missing begin marker".

Убедитесь, что .pem заканчивается:

----- END RSA ЧАСТНЫЙ КЛЮЧ -----