2016-07-10 5 views
-1

Ich habe eine AWS EC2-Instanz von Ubuntu 14.04. Es ist ungefähr 6 Monate her, dass ich in sie angemeldet haben, und jetzt kann ich nicht angemeldet bekommen.Was kann ich sonst noch versuchen, um zu meiner AWS EC2-Instanz zu gelangen?

I Permission denied (Public Key)

Das Ding ist, unterstützt ich meine .pem-Datei in 3 Plätze nach oben, und keiner von ihnen funktioniert. Ich bin ziemlich erfahren mit AWS, und ich hatte das noch nie zuvor.

Der Befehl ich benutze ist ssh -v -i mykey.pem [email protected]

Der Ausgang Ich bin von dem Befehl bekommen, ist dies:

OpenSSH_7.1p2, OpenSSL 1.0.1f 6 Jan 2014 
debug1: Reading configuration data /usr/local/etc/ssh_config 
debug1: Connecting to ec2-192-168-0-1.compute-1.amazonaws.com [192.168.0.1] port 22. 
debug1: Connection established. 
debug1: permanently_set_uid: 0/0 
debug1: key_load_public: No such file or directory 
debug1: identity file mykey.pem type -1 
debug1: key_load_public: No such file or directory 
debug1: identity file mykey.pem-cert type -1 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_7.1 
debug1: Remote protocol version 2.0, remote software version PaloAltoNetworks_0.2 
debug1: no match: PaloAltoNetworks_0.2 
debug1: Authenticating to ec2-192-168-0-1.compute-1.amazonaws.com:22 as 'ubuntu' 
debug1: SSH2_MSG_KEXINIT sent 
debug1: SSH2_MSG_KEXINIT received 
debug1: kex: server->client aes128-ctr hmac-sha1 none 
debug1: kex: client->server aes128-ctr hmac-sha1 none 
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<7680<8192) sent 
debug1: got SSH2_MSG_KEX_DH_GEX_GROUP 
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent 
debug1: got SSH2_MSG_KEX_DH_GEX_REPLY 
debug1: Server host key: ssh-rsa SHA256:Mt8dMlt7QdgQ9kiju3OATK43jnN9oV2pZ4oGZdd46PA 
debug1: Host 'ec2-192-168-0-1.compute-1.amazonaws.com' is known and matches the RSA host key. 
debug1: Found key in /root/.ssh/known_hosts:34 
debug1: SSH2_MSG_NEWKEYS sent 
debug1: expecting SSH2_MSG_NEWKEYS 
debug1: SSH2_MSG_NEWKEYS received 
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: mykey.pem 
debug1: Authentications that can continue: publickey 
debug1: No more authentication methods to try. 
Permission denied (publickey). 

Ich habe versucht, die Maschine mehrmals neu zu starten.

Ich habe es aus 3 verschiedenen Orten versucht, eines ohne Firewall, und ich bekomme das gleiche (außer natürlich die Zeilen über Firewalls).

Schließlich gab ich auf zu versuchen, in SSH, und beschlossen, das AWS Management Console eine Verbindung (A Java SSH Client direkt aus meinem Browser (Java erforderlich))

Dies hat es versäumt, zu verwenden. Es unterstützt Chrome nicht, und wenn ich es von Firefox aus versuche, friert es einfach ein und macht nichts ... ohne Fehler in der Browser-Konsole (die ich finden kann ... Ich bin ein bisschen noob bei der Fehlerbehebung im Browser).

Es macht das gleiche in Edge und IE. Ich habe dies auf allen 3 Computern, auf Ubuntu Desktop und Windows 10 ohne Glück versucht.

Nach diesem fehlgeschlagen, ich fand irgendwo, dass ich kann es zu einem Snapshot speichern, und starten Sie eine neue Instanz von diesem Snapshot, und verwenden Sie eine andere .pem-Datei, nur für den Fall, dass alle drei meiner Kopien irgendwie magisch beschädigt waren . Ich habe das ausprobiert, und der Klon, den ich gemacht habe, würde nie richtig starten (1/2 Status Check).

Gibt es etwas, was ich nicht versucht habe?


EDIT 1

Ich habe auch versucht, die Berechtigungen der .pem-Datei auf 400 und 600 sowie das Löschen der Datei known_hosts ändern. Keines davon erwies sich als eine Lösung.

+0

ist dies der erwartete Ausgang "Verbinden mit ec2-192-168-0-1.compute-1.amazonaws.com [192.168.0.1]"? –

+0

Versuchen Sie, /root/.ssh/known_hosts zu löschen, und versuchen Sie es erneut. – Shibashis

+0

Durch das Löschen von known_hosts bestätige ich, dass ich eine Verbindung herstellen möchte, und mache dann dasselbe. Das war etwas, was ich nicht versucht hatte. Ja @ Bela Vizer, das ist das Ziel, glaube ich. Oder zumindest denke ich, dass das die Ausgabe ist, wenn es kein Problem gibt. – trueCamelType

Antwort

2

Run

chmod 400 mykey.pem 

Und dann versuchen Sie es erneut ssh. Dies könnte der Fehler Permission denied (Public Key) sein.

Ich hatte Probleme, wenn die Berechtigungen für meinen Schlüssel geöffnet wurden.

+2

+1, denn das wäre ein ganz normales Problem dafür. Ich habe dies bereits getan, und ich werde das zur Frage hinzufügen (aber es ist nicht die Lösung). – trueCamelType

+0

Hmm =/ In welcher Region ist Ihr EC2 gehostet? Haben Sie versucht, AWS-Support zu kontaktieren, um zu wissen, ob es irgendwelche Probleme gab ? – filipebarretto

+0

Es ist in N. Virginia, und alle meine anderen Instanzen in dieser Region sind in Ordnung. Ich habe sie noch nicht wegen dieses Problems kontaktiert, weil normalerweise die .pem-Datei nicht Benutzerfehler ist. – trueCamelType

3

Haben Sie eine Überwachung der Instanz? Wenn die Festplatte voll ist, kann das einige der Probleme erklären, aber Cloudwatch kann Ihnen nicht sagen, wie viel Speicherplatz belegt ist. Dies könnte erklären, warum ein AMI nicht korrekt bootet. Sie sollten in der Lage sein, über die AWS-Konsole in das Startprotokoll zu gelangen, in dem möglicherweise Informationen enthalten sind. Wenn das Problem Festplattenspeicher ist, können Sie eine andere Instanz von Ihrem AMI starten, aber eine große Festplatte angeben.

Ist es möglich, dass die Instanz irgendwie gehackt wurde?Wenn jemand es übernommen hat, hat er möglicherweise den Schlüssel geändert/entfernt oder sogar den Port geändert, den sshd gerade abhört.

Wenn Ihre Instanz wirklich abgespritzt ist und Sie die Daten entfernen möchten, sollten Sie in der Lage sein, einen Snapshot zu erstellen, ein neues Volume aus diesem Snapshot zu erstellen und das resultierende Volume auf einer neuen Instanz bereitzustellen.

+1

Ich schaue jetzt in den Raum und die Hacking-Möglichkeiten, aber vielen Dank, dass Sie mich wissen lassen, wie Sie die Daten zurückbekommen. – trueCamelType

Verwandte Themen