AWS SSH connection error: Permission denied (publickey)

[2]} próbuję połączyć się z moją instancją EC2 przez SSH i zaczynam wariować. Przeczytałem ten post i wypróbowałem wszystkie kombinacje użytkowników:

AWS SSH access 'Permission denied (publickey)' issue

To nadal nie działa dla mnie. Wiesz, co mnie ominęło?
  roberto@ubuntu:~/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: 

Według sugestii @aldanux:

    roberto@ubuntu:~/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
roberto@ubuntu:~/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).
Author: Community, 2014-04-30

9 answers

Spróbuj wykonać następujące kroki:

ssh-keygen -R 54.72.242.0

sudo chmod 600 ec2-key-pair.pem

A następnie:

ssh -i ec2-key-pair.pem [email protected]
 4
Author: Black Sheep,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-30 16:06:43

Prawdopodobnie logujesz się jako niewłaściwy użytkownik. Jeśli jest to instancja Ubuntu, Komenda brzmiałaby:

ssh -v -i ec2-key-pair.pem [email protected]
 34
Author: Rico,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-30 22:37:13

Chociaż nie jest to specyficzne dla AWS, ten nieprzydatny komunikat o błędzie

debug1: key_parse_private2: missing begin marker

Wystąpi w kilku niejasnych scenariuszach, na przykład gdy własność (lub uprawnienia) katalogu domowego użytkownika SSH są nieprawidłowe na zdalnej maszynie.

Najlepszym sposobem na rozwiązanie tego i podobnych niejasnych wiadomości jest sprawdzenie dziennika autoryzacji na zdalnym komputerze, pod warunkiem, że masz dostęp, ponieważ zwykle wskazuje problem. W systemach Debian i Ubuntu jest to najprościej wykonać za pomocą tail (Użyj sudo odpowiednio):

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

W moim konkretnym przypadku, znalazłem

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

Idealnie dokładne i zwięzłe: Grupa właściciela została ustawiona na daemon:daemon, kiedy powinna być www-data:www-data (to było na komputerze Ubuntu, który musiał mieć inny serwer WWW zainstalowany w przeszłości).

 16
Author: Ben Johnson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-04 19:39:25

Miałem podobny problem, "key_parse_private2: missing begin marker" podczas używania nazwy użytkownika 'ec2-user', ale został naprawiony, gdy zmieniłem ubuntu jako użytkownik.

 5
Author: changeagent,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-18 09:36:50

Kolejną rzeczą do sprawdzenia jest PermitRootLogin i AllowUsers w /etc/ssh/sshd_config.

To debug1: key_parse_private2: missing begin marker pojawia się nawet po pomyślnej autoryzacji klucza, jeśli dostęp użytkownika jest ograniczony.

 1
Author: FelikZ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-02 10:02:30

Tak, rzeczywiście dość myląca wiadomość. W moim przypadku użyłem na przykład niewłaściwego klucza.

Musieliśmy usunąć parę kluczy i utworzyć nową, z tą różnicą,że nasza instancja używała starej (ponieważ nie można tego zrobić tak łatwo).

Komunikat o błędzie był taki sam, więc warto sprawdzić, czy nazwa klucza w panelu instancji aws pasuje do pary kluczy, której używasz w key paris.

 0
Author: Bartosz Dabrowski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-09 13:31:05

Logowanie jako "admin" zadziałało. W zależności od typu wystąpienia użytkownik logowania się zmienia. ec2-user lub ubuntu lub w moim przypadku admin. ssh-v-I./ my_key_filepem [email protected]

Upewnij się również, że uprawnienia dla pliku pem wynoszą 600 chmod 600 ./ my_key_filepem

 0
Author: Anish,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-13 14:18:22

Jednym z łatwych sposobów na uzyskanie tego błędu jest uszkodzony .plik pem.

Na przykład, jeśli brakuje ostatniej linii , otrzymasz "brakujący znacznik początku".

Upewnij się, że .pem kończy się na:

-----KONIEC KLUCZA PRYWATNEGO RSA - - - - -

 0
Author: TimT,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-13 21:14:54

Wiele problemów może powodować problemy z łącznością: Przejrzyj następujące ustawienia:

  1. AWS security group settings and check the SSH port 22 policy
  2. Sprawdź ustawienia zapory sieciowej, których używasz w połączeniu lan
  3. Wygeneruj ssh-keygen na lokalnej maszynie i dodaj do aws linux server dla przyszłego bezpieczeństwa.
  4. regeneruje nowy klucz ssh w panelu.
  5. Sprawdź swoją listę ipblacklist na mxtoolbox, jeśli używasz Firewalla na serwerze AWS linux.

Proszę spróbować przede wszystkim, jeśli to możliwe, aby przezwyciężyć błąd. Daj mi znać, czy to działa, czy nie.

 -3
Author: Mohit Sharma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-22 13:42:01