Permission denied (publickey) when SSH Access to Amazon EC2 instance [closed]
Chcę użyć mojej instancji Amazon ec2, ale napotkałem następujący błąd:
Permission denied (publickey).
Utworzyłem parę kluczy i pobrałem .plik pem.
Podane:
chmod 600 pem file.
Następnie polecenie
ssh -i /home/kashif/serverkey.pem [email protected]
Ale czy ten błąd:
Permission denied (publickey)
Również Jak mogę połączyć się z filezillą, aby przesłać/pobrać pliki?
29 answers
Ten Komunikat o błędzie oznacza, że nie udało się uwierzytelnić.
Są to typowe powody, które mogą powodować, że:
-
Próbuję połączyć się z niewłaściwym kluczem. Jesteś pewien, że ta instancja używa tej klawiatury?
- próbuje połączyć się z niewłaściwą nazwą użytkownika.
ubuntu
to nazwa użytkownika dla dystrybucji AWS opartej na ubuntu, ale na niektórych jest toec2-user
(lubadmin
na niektórych Debianach, zgodnie z odpowiedzią Bogdana Kulbidy) (może być równieżroot
,fedora
, patrz poniżej) - Trying aby połączyć zły host. Czy to właściwy host, do którego próbujesz się zalogować?
Zauważ, że 1.
stanie się również wtedy, gdy pomyliłeś plik /home/<username>/.ssh/authorized_keys
w swojej instancji EC2.
O 2.
w opisie obrazu AMI często brakuje informacji o tym, której nazwy użytkownika należy użyć. Można je jednak znaleźć w dokumentacji AWS EC2, bullet point 4.
:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html
Użyj polecenia ssh, aby połączyć się z instancją. Podasz klucz prywatny (.pem) file and user_name@public_dns_name. W przypadku systemu Amazon Linux nazwa użytkownika to ec2-user. W przypadku RHEL5 nazwa użytkownika to root lub ec2-user. W przypadku Ubuntu nazwa użytkownika to ubuntu . W przypadku Fedory nazwa użytkownika to fedora lub ec2-user. Dla SUSE Linux, nazwa użytkownika to root. W przeciwnym razie, jeśli ec2-user i root nie działają, sprawdź z AMI dostawca.
Wreszcie , należy pamiętać, że istnieje wiele innych powodów, dla których uwierzytelnianie nie powiedzie się. SSH jest zwykle dość jednoznaczne co poszło nie tak, jeśli chcesz dodać opcję -v
do polecenia SSH i odczytać wynik, jak wyjaśniono w wielu innych odpowiedziach na to pytanie.
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-05-27 06:30:37
W tym przypadku problem wynika z utraty pary kluczy. O tym:
- nie ma możliwości zmiany pary kluczy na instancji . Musisz utworzyć nową instancję, która używa nowej pary kluczy.
- możesz obejść problem , jeśli twoja instancja jest używana przez aplikację na Elastic Beanstalk .
Możesz wykonać następujące kroki:
- Dostęp do AWS Management Console
- Open Elastic Beanstalk Tab
- Wybierz aplikację z zakładki Wszystkie aplikacje
- z lewej strony menu wybierz Konfiguracja
- Kliknij na instancje Gear
- w formularzu Serwer Sprawdź parę kluczy EC2 i wybierz nową parę kluczy. Być może będziesz musiał odświeżyć listę, aby zobaczyć nową parę kluczy, którą właśnie utworzyłeś.
- Zapisz
- Elastic Beanstalk utworzy dla Ciebie nowe instancje powiązane z nowym kluczem para.
Ogólnie rzecz biorąc, pamiętaj, że musisz zezwolić swojej instancji EC2 na akceptację przychodzącego ruchu SSH.
Aby to zrobić, musisz utworzyć specjalną regułę dla grupy zabezpieczeń Twojej instancji EC2. Możesz wykonać następujące kroki.
- Dostęp do AWS Management Console
- Otwórz zakładkę EC2
- z listy instancje wybierz interesującą Cię instancję
- w zakładce Opis zaznacz nazwę grupa bezpieczeństwa twoja instancja używa.
- ponownie w zakładce Description Kliknij View rules i sprawdź, czy Twoja grupa zabezpieczeń ma regułę dla przychodzącego ruchu ssh na porcie 22
- Jeśli nie, w Network & Security menu wybierz Security Group
- Wybierz grupę zabezpieczeń używaną przez instancję i kliknij zakładkę Inbound
- po lewej stronie karty Inbound możesz skomponować regułę dla SSH inbound ruch drogowy:
- Utwórz nową regułę : SSH
- Źródło: adres IP lub podsieć, z której chcesz uzyskać dostęp do instancji
- Uwaga: jeśli chcesz przyznać nieograniczony dostęp do swojej instancji możesz określić 0.0.0.0/0, chociaż Amazon nie zaleca tej praktyki
- Kliknij Dodaj regułę a następnie Zastosuj zmiany
- Sprawdź, czy jesteś w stanie połączyć się z Twoim instancja przez SSH.
Mam nadzieję, że to pomoże komuś tak, jak pomogło mi.
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-03-12 15:23:56
Tak rozwiązałem problem
ssh -i <key> ec2-user@<ec2 ip>
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
2013-12-23 01:49:03
Rozwiązałem problem po prostu wstawiając sudo
Przed
sudo ssh -i mykey.pem myec2.amazonaws.com
Ale właściwym rozwiązaniem jest najpierw zmiana właściciela, a następnie połączenie jako zwykły użytkownik, jak powiedział Janus Troelsen poniżej. W moim przypadku byłoby to:
chown wellington:wellington key.pem
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-10-02 12:53:45
Spróbuj użyć
sudo ssh -i mykey.pem ubuntu@<ec2_ip_public_dns>
Lub
sudo ssh -i mykey.pem ec2-user@<ec2_ip_public_dns>
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-06-30 13:43:51
Inna możliwa przyczyna tego błędu:
Gdy katalog domowy użytkownika jest zapisywalny dla grupy , użytkownik nie może się zalogować.
(Reproduced on Ubuntu instance.)
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-07-02 12:17:37
Dla mikro instancji ubuntu 12.04 lts musiałem ustawić nazwę użytkownika jako opcję
ssh -i pemfile.pem -l ubuntu dns
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-03-10 20:51:30
Musisz wykonać następujące kroki:
- otwórz klienta ssh lub terminal, jeśli używasz Linuksa.
- zlokalizuj plik klucza prywatnego i zmień katalog.
cd <path to your .pem file>
- wykonaj poniższe polecenia:
chmod 400 <filename>.pem
ssh -i <filename>.pem ubuntu@<ipaddress.com>
Jeśli ubuntu
Użytkownik nie działa, spróbuj użyć ec2-user
.
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
2017-03-11 11:03:50
Zmagałem się z tym samym błędem odmowa zgody najwyraźniej z powodu
key_parse_private2: missing begin marker
W mojej sytuacji przyczyną był Plik konfiguracyjny SSH bieżącego użytkownika (~ / .ssh/config).
Używając następującego:
ssh -i ~/myKey.pem ec2-user@<IP address> -v 'exit'
Wyjściowe wyniki pokazały:
debug1: Reading configuration data /home/ec2-user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 56: Applying options for *
debug1: Hostname has changed; re-reading configuration
debug1: Reading configuration data /home/ec2-user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
... wiele linii debugowania wyciętych tutaj ...
debug1: Next authentication method: publickey
debug1: Trying private key: /home/ec2-user/somekey.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.
Trzecia linia powyżej jest tam, gdzie problem faktycznie został zidentyfikowany; jednak szukałem w wiadomości debugowania cztery linie od dołu (powyżej) i został wprowadzony w błąd. Tam nie jest problemem z kluczem, ale Przetestowałem go i porównałem inne konfiguracje.
Mój plik konfiguracyjny użytkownika SSH resetuje host za pomocą niezamierzonego ustawienia globalnego, jak pokazano poniżej. Pierwsza linia hosta nie powinna być komentarzem.
$ cat config
StrictHostKeyChecking=no
#Host myAlias
user ec2-user
Hostname bitbucket.org
# IdentityFile ~/.ssh/somekey
# IdentitiesOnly yes
Host my2ndAlias
user myOtherUser
Hostname bitbucket.org
IdentityFile ~/.ssh/my2ndKey
IdentitiesOnly yes
Mam nadzieję, że ktoś inny uzna to za pomocne.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-19 16:33:58
Zapomniałem dodać nazwę użytkownika (ubuntu) podczas łączenia mojej instancji Ubuntu. Więc próbowałem tego:
ssh -i /path/my-key-pair.pem my-ec2-instance.amazonaws.com
A prawidłową drogą było
ssh -i /path/my-key-pair.pem [email protected]
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-03-31 08:42:26
Zdarzyło mi się to wiele razy. Używałem Amazon Linux AMI 2013.09.2 i Ubuntu Server 12.04.3 LTS, które są zarówno na wolnym poziomie.
Za każdym razem, gdy uruchamiam instancję, mam odmowę dostępu. Nie zweryfikowałem tego, ale moja teoria jest taka, że serwer nie jest całkowicie skonfigurowany przed próbą ssh do niego. Po kilku próbach z odmową uprawnień czekam kilka minut, a następnie jestem w stanie połączyć się. Jeśli masz ten problem proponuję poczekać 5 minuty i jeszcze raz.
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-01-14 15:42:06
Oto możliwe, frustrujące scenariusze, które powodują ten błąd:
Jeśli tworzysz nową instancję z AMI, którą utworzyłeś z innej instancji (np. instancja xyz), to nowa instancja będzie akceptować tylko ten sam klucz, którego użyto. Jest to całkowicie zrozumiałe, ale robi się mylące, ponieważ podczas procesu tworzenia nowej instancji krok po kroku, zostaniesz poproszony o wybranie lub utworzenie klucza (na ostatnim kroku), który nie będzie działać.
Niezależnie od klucz, który tworzysz lub wybierasz, tylko klucz, którego używałeś na przykład XYZ, będzie akceptowany przez nową instancję.
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-03-17 01:51:52
Ja też przez jakiś czas się z tym zmagałem, dopóki nie znalazłem:
eb ssh
Kiedy używasz tego z katalogu projektu, bingo-bango no muss no fuss, jesteś w
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-04-22 14:06:06
W moim własnym przypadku, zrobiłem co następuje:
chmod 400 <key.pem>
ssh -i <key.pem> ec2-user@ec2_public_dns (for debian)
Początkowo używałem root@
części i dostałem taki monit:
Please login as the user "ec2-user" rather than the user "root".
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-18 20:59:29
Jestem w Windows z WinSCP. Działa świetnie zarówno na Eksploratorze plików, jak i powłoce SSH PuTTY, aby uzyskać dostęp do mojego Linuksa Amazon EC2-VPC. Nie ma nic wspólnego z chmod pem file
ponieważ używa myfile.ppk
konwertowane przez PuTTYgen z pliku pem.
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
2017-05-23 12:34:45
To samo stało się ze mną, ale wszystko, co się działo, to to, że klucz prywatny zgubił się z pęku kluczy na mojej lokalnej maszynie.
Ssh-add-K
Ponownie dodano klucz, a następnie polecenie SSH do połączenia powróciło do pracy.
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
2017-11-11 21:33:41
Ten problem można rozwiązać logując się do Ubuntu box używając poniższego polecenia:
ssh -i ec2key.pem ubuntu@ec2-public-IP
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-05-11 14:08:15
Dwa razy miałem klucze i wiersz poleceń SSH poprawny (wiem, bo jestem powielanie działającej instancji Ubuntu 14.04), ale po prostu nie był w stanie ssh do nowej instancji, nawet po odczekaniu 5 minut, jak zasugerował Wade Anderson powyżej.
Musiałem zniszczyć i odtworzyć maszynę. Stało się to przy dwóch różnych okazjach. Skoro nie mogę wejść, nie widzę, co jest nie tak.
Więc, jeśli masz ten problem, spróbuj tego.
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-11-01 23:18:40
Musisz sprawdzić te kilka rzeczy:
- Upewnij się, że twój adres IP jest poprawny
- Upewnij się, że używasz właściwego klucza
- Upewnij się, że używasz prawidłowej nazwy użytkownika, Możesz spróbować: 3.1. admin 3.2. ec2-user 3.3. ubuntu
Miałem ten sam problem i rozwiązałem go po zmianie nazwy użytkownika na ubuntu. W dokumentacji AWS został wymieniony do użytkownika ec2-user ale jakoś nie działa dla mnie.
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-10-01 14:19:26
Mój klucz prywatny został ustawiony na permission 400
i spowodowało to odmowę permission ustawienie go na '644' pomogło mi .
Key_load_private_type: Permission denied jest specyficznym błędem, który otrzymywałem
Rozwiązanie:
Sudo chmod 644 <key.pem>
Uwaga: ustawione na 644 jest konieczne, nie działało z 400
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-10-26 09:16:17
Kiedy próbujesz robić
ssh -i <.pem path> root@ec2-public-dns
Otrzymasz wiadomość z informacją o używaniu ec2-user
.
Please login as the user "ec2-user" rather than the user "root".
Więc użyj
ssh -i <.pem path> ec2-user@ec2-public-dns
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
2017-04-06 02:52:35
Miałem ten sam problem i to bardzo dziwne. Jeśli uważasz, że robisz wszystko, co dobre, postępuj zgodnie z tym: Czasami pojawia się zamieszanie dotyczące Użytkownika dla instancji EC2!! Czasami dostajesz ec2-user, ubuntu, centos itp. Więc sprawdź swoją nazwę Użytkownika dla machie!!
Login with root user
ssh -i yourkey.pem (400 permission) root@<ip>
wyświetli błąd i wyświetli dostępną nazwę Użytkownika . następnie zaloguj się z tym użytkownikiem.
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
2017-05-03 11:24:49
To podstawowa rzecz, ale zawsze potwierdź, którego użytkownika próbujesz zalogować. Moja sprawa była tylko odwróceniem Uwagi . Próbowałem użyć root user:
ssh -i ~/keys/<key_name> [email protected]
Ale był inny użytkownik :
ssh -i ~/keys/<key_name> [email protected]
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
2017-06-08 14:35:57
Miałem ten sam błąd, ale inna sytuacja. dla mnie stało się to ni stąd ni zowąd po długim czasie mogłem SSH z powodzeniem do mojego zdalnego komputera. po wielu poszukiwaniach rozwiązaniem mojego problemu były uprawnienia do plików. jest to oczywiście dziwne, ponieważ nie zmieniłem żadnych uprawnień w moim komputerze lub zdalnym należącym do plików/katalogów ssh. więc z dobrego archlinux wiki Oto jest:
Dla lokalnej maszyny zrób to:
$ chmod 700 ~/
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/id_ecdsa
Dla zdalna maszyna do tego:
$ chmod 700 ~/
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
Potem mój ssh zaczął działać ponownie bez zgody odmownej (publickey).
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
2017-12-26 21:52:29
Kolejny możliwy problem: Błędny identyfikator logowania
Sprawdź "Instrukcje Użytkowania"
Wszystkie dobre sugestie powyżej, ale to, na co wpadłem, to to, że wybrałem wstępnie wykonaną instancję. Po uruchomieniu wystąpienia zapoznaj się z instrukcjami użycia. Niepoprawnie użyłem loginu klucza prywatnego, gdy w instrukcji miałem użyć' bitnami ' (np. Bitnami@domain-i key.pem)
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-01-27 21:41:06
Miałem podobny błąd
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: xxxx.pem
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
Mój problem polegał na tym, że instancja nie uruchomiła się poprawnie z powodu błędu w skrypcie run-on-start-up z Step 3: Configure instance detail
pod Advanced details:
Co myślałem, że wpisałem:
#include
https://xxxx/bootstrap.sh
To, co faktycznie zostało wprowadzone, powoduje przerwanie konfiguracji instancji
#include
https://xxxx/bootstrap.sh
Więc klucz publiczny po stronie instancji nie został utworzony
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-04-05 08:48:24
Rozróżnia wielkość liter.
Źle: SSH EC2-user @XXX. XX. XX. XX-i MyEC2KeyPair.pem
Correct: SSH ec2-user @XXX. XX. XX. XX-i MyEC2KeyPair.pem
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-04-25 00:38:19
Byłem w stanie SSH z jednej maszyny, ale nie z drugiej. Okazało się, że używałem niewłaściwego klucza prywatnego.
Sposób, w jaki to rozgryzłem, polegał na pobraniu klucza publicznego z mojego klucza prywatnego, tak:
ssh-keygen -y -f ./myprivatekey.pem
To, co wyszło, nie pasowało do tego, co było w instancji EC2.
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
2017-08-09 20:12:03
Wszystkie wyżej wymienione odpowiedzi są dokładne i powinny działać w większości przypadków. W przypadku, gdy nie tak jak w moim przypadku, po prostu pozbyłem się mojego pliku ~/.ssh/known_hosts
Na maszynie, z której próbowałem ssh, i to rozwiązało problem dla mnie. Udało mi się później połączyć.
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-04-02 20:21:57