2013-03-21 10 views
5

Ho appena creato un'istanza EC2 su AWS. Prima ho creato la mia coppia di chiavi, ho scaricato la chiave privata.Connessione all'istanza AWS EC2 richiede la password anche se il file PEM è fornito

Ora sto cercando di accedere all'istanza appena creata (utilizzando il nome host corretto, ovviamente, quello che ho sostituito qui per sicurezza). Ho aggiunto opzione -v per ottenere l'output di debug:

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

Sebbene io fornisco il file di chiave, mi viene chiesto per la password. Ecco un estratto dal output di debug che potrebbero mostrare cosa sta andando male:

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] 

Perché dopo "leggere PEM chiave privata fatta: tipo RSA" la conclusione è "autenticazioni che possono continuare: publickey, la password"?

+0

possibile duplicato per: http://stackoverflow.com/questions/9747763/ssh-ec2-asking-for-password – Rishabh

+2

Sì e senza risposta. Il mio ssh_config non ha PasswordAuthentication impostato su yes. Le uniche impostazioni abilitate sono: SendEnv LANG LC_ *; HashKnownHosts sì; GSSAPIAuthentication yes; GSSAPIDelegateCredentials no – Passiday

risposta

3

Sono contento e umile di riferire che il problema era che stavo cercando di ssh con un utente inesistente. Il tutorial che stavo seguendo suggeriva di utilizzare un nome di accesso che non corrispondeva al nome utente nel rispettivo AMI. Questo è stato suggerito dal supporto Amazon, quando hanno ricontrollato il loro tutorial.

Non sono sicuro se esiste un modo per scoprire il nome di accesso predefinito dalla console di gestione EC2. Almeno una rapida ricerca del nome utente corretto nelle proprietà non ha generato alcuna corrispondenza.

Ora posso accedere anche senza fornire il file chiave tramite l'opzione -i, perché ho aggiunto la chiave al mio portachiavi con il comando ssh-add.

+0

https://alestic.com/2014/01/ec2-ssh-username/ Questo è un elenco di nomi utente predefiniti utilizzati dalle istanze ec2. – Abhidemon

1

Hai provato ad aggiungere la password in Portachiavi?

andare gettare questo articolo

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

# vi /etc/ssh/sshd_config

Trovare la linea PasswordAuthentication yes

e modificarlo in PasswordAuthentication no

Salvare il file e riavviare sshd: # /etc/init.d/sshd restart

+0

Sì, e richiede ancora la password.L'output di debug è leggermente diverso, però: 'debug1: autenticazioni che possono continuare: publickey, di password debug1: Avanti metodo di autenticazione: PublicKey debug1: Offering RSA a chiave pubblica: /home/myuser/EC2key.pem debug1: autenticazioni che può continuare: publickey, password' – Passiday

+0

Scusa per il disordine, non sapevo che non ci fosse modo di aggiungere interruzioni di riga nel testo del commento. Il portachiavi – Passiday

+0

dovrebbe funzionare, ecco un articolo che dovrebbe aiutarti http://aws.amazon.com/articles/1233 – Rishabh

0

Bene, questo potrebbe essere lato client o lato server in termini del motivo per cui non funziona.

lato client: Assicurarsi directory .ssh è permesso 0700 e il 0600. EC2key.pem è

lato server: Assicurarsi che 'PubkeyAuthentication' è impostata su 'yes' nel vostro sshd_config (se sei in grado di entrare affatto). È anche possibile eseguire manualmente il servizio SSH con la modalità di debug (-d flag) per cogliere altri potenziali motivi (di nuovo, se si ha accesso).

+0

I miei ~/.ssh dir permessi sono drwx ------, e le autorizzazioni del file pem sono - rw -------, quindi suppongo che corrisponda al tuo menzionato 0700 e 0600. Ma non ho modo di entrare sul lato server. Quello con l'uso del file chiave doveva essere il modo iniziale. – Passiday

+0

Chi ha creato l'AMI che si sta utilizzando per l'istanza? È del tutto possibile che la loro configurazione non abbia funzionato correttamente. Se stai usando un'AMI "ufficiale" o ne dici uno direttamente da Amazon, dovrebbe funzionare correttamente. –

+0

Stavo seguendo [indicazioni da qui] (http://aws.amazon.com/articles/7249489223918169), parteciperò al corso CUDA di Udacity. Quindi, l'AMI è stata generata da un modello apparentemente ufficiale. – Passiday

Problemi correlati