2013-03-21 8 views
5

Właśnie utworzyłem instancję EC2 na AWS. Wcześniej utworzyłem moją parę kluczy, pobrałem klucz prywatny.Podłączanie instancji AWS EC2 prosi o podanie hasła, chociaż dostarczono plik PEM

Próbuję teraz zalogować się do nowo utworzonej instancji (używając poprawnej nazwy hosta, oczywiście, co tutaj zastąpiłem dla bezpieczeństwa). Dodałem opcję -v, aby uzyskać dane wyjściowe debugowania:

ssh [email protected] -i ~/EC2key.pem -v 

Chociaż dostarczam plik klucza, proszę o podanie hasła. Oto fragment z wyjścia debugowania, które mogą pokazać, co się dzieje źle:

debug1: Host 'myVirtualHost.compute-1.amazonaws.com' is known and matches the ECDSA host key. 
debug1: Found key in /home/myuser/.ssh/known_hosts:15 
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,password 
debug1: Next authentication method: publickey 
debug1: Trying private key: /home/myuser/EC2key.pem 
debug1: read PEM private key done: type RSA 
debug1: Authentications that can continue: publickey,password 
debug1: Next authentication method: password 
[email protected]'s password:[asks for password here] 

Dlaczego po „czytać PEM klucz prywatny zrobić: typ RSA” Wniosek jest „uwierzytelnianie, które można kontynuować: publickkey, hasło”?

+0

możliwy duplikat dla: http://stackoverflow.com/questions/9747763/ssh-ec2-asking-for-password – Rishabh

+2

Tak, i nie otrzymałem odpowiedzi. Mój ssh_config nie ma ustawionego PasswordAuthentication na yes. Włączone są tylko te ustawienia: SendEnv LANG LC_ *; HashKnownHosts yes; GSSAPIAuthentication yes; GSSAPIDelegateCredentials no – Passiday

Odpowiedz

3

Jestem szczęśliwy i upokorzony, aby zgłosić, że problem polega na tym, że próbowałem ssh z nieistniejącym użytkownikiem. Samouczek, którego przestrzegałem, sugerował użycie nazwy logowania, która nie odpowiada nazwie użytkownika w odpowiednim AMI. Zostało to zasugerowane przez wsparcie Amazon, kiedy dwukrotnie sprawdzili swój tutorial.

Nie jestem pewien, czy istnieje sposób na znalezienie domyślnej nazwy logowania z konsoli zarządzania EC2. Przynajmniej szybkie wyszukiwanie prawidłowej nazwy użytkownika we właściwościach nie doprowadziło do żadnych dopasowań.

Teraz mogę się zalogować również bez dostarczania pliku klucza przez opcję -i, ponieważ dodałem klucz do mojego zestawu kluczy za pomocą polecenia ssh-add.

+0

https://alestic.com/2014/01/ec2-ssh-username/ Poniżej znajduje się lista domyślnych nazw użytkowników używanych przez instancje ec2. – Abhidemon

1

Czy próbowałeś dodać hasło w Keyring?

iść rzucić ten artykuł

http://aws.amazon.com/articles/1233

# vi /etc/ssh/sshd_config

Znajdź wiersz PasswordAuthentication yes

i zmienić go na PasswordAuthentication no

zapisz plik i uruchom sshd: # /etc/init.d/sshd restart

+0

Tak, i nadal prosi o podanie hasła.Wyjście debugowania jest nieco inny, choć: 'debug1: uwierzytelnianie, które można kontynuować: publickey, hasło debug1: Następna metoda uwierzytelniania: PublicKey debug1: Oferowanie RSA klucz publiczny: /home/myuser/EC2key.pem debug1: uwierzytelnianie, że można kontynuować: publickey, password' – Passiday

+0

Przepraszam za bałagan, nie wiedziałem, że nie ma sposobu, aby dodać linebreaks w tekście komentarza. – Passiday

+0

brelok powinien zadziałać, oto artykuł, który powinien ci pomóc http://aws.amazon.com/articles/1233 – Rishabh

0

Może to być strona po stronie klienta lub po stronie serwera pod względem przyczyny niepowodzenia.

Client-Side: Upewnij się, że katalog .ssh jest pozwolenie 0700 i EC2key.pem jest 0600.

Server-Side: Bądź pewny 'PubkeyAuthentication' jest ustawiony na 'tak' w sshd_config (jeśli jesteś w stanie w ogóle wejść). Możesz również uruchomić usługę SSH ręcznie w trybie debugowania (opcja -d), aby wychwycić inne potencjalne powody (ponownie, jeśli masz dostęp).

+0

Moje uprawnienia do plików ~/.ssh to drwx ------, a uprawnienia do plików pem to - rw -------, więc myślę, że pasuje do wspomnianych 0700 i 0600. Ale nie mam żadnego sposobu, aby dostać się po stronie serwera. Ta z użyciem pliku klucza miała być początkową drogą. – Passiday

+0

Kto utworzył AMI, którego używasz do swojej instancji? Jest całkowicie możliwe, że ich konfiguracja nie działa poprawnie. Jeśli używasz "oficjalnego" AMI lub wypowiadasz je bezpośrednio z Amazon, powinno to działać poprawnie. –

+0

Podążałem za [wskazówkami stąd] (http://aws.amazon.com/articles/7249489223918169), biorę udział w kursie CUDA firmy Udacity. Tak więc AMI zostało wygenerowane z podobno oficjalnego szablonu. – Passiday

Powiązane problemy