2017-10-09 4 views
0

Ich hatte ein Schlüsselpaar für einen Server, der seit ein paar Jahren funktioniert. Ich habe heute einen neuen Server erstellt und ihn gebeten, die gleichen Schlüsselpaarinformationen zu verwenden. Ich habe in der Konsole überprüft, dass beide die gleichen Schlüsselpaarinformationen verwenden.EC2 Schlüsselpaarinformation funktioniert auf einem Server, aber nicht auf einem anderen

Ich kann ssh in meinem neuen Server mit der PEM-Datei. Ich weiß also, dass die PEM-Datei nicht beschädigt ist. Aber ich kann nicht mehr in meinen alten Server ssh.

Der Fehler ist: Permission denied (publickey).

ich zufällig noch Lesezugriff auf meinem alten Server (Ich habe eine Registerkarte geöffnet, die ssh'ed in), aber offenbar keinen Schreibzugriff haben.

Was könnte dieses Problem verursachen und wie könnte ich es lösen?

FYI, .ssh/authorized_keys scheint immer noch einen öffentlichen Schlüssel zu enthalten, der mit dieser PEM-Datei verknüpft ist. Dieser öffentliche Schlüssel ist auf beiden Servern identisch.

Update: Ich bin 99% sicher, dass der Benutzer richtig ist. Ich benutze ubuntu. Dies ist der Benutzer, den ich im ssh-Fenster sehe, das ich von vorher geöffnet habe. Auch wenn ich versuche, als root anmelden, ich den Fehler: Please login as the user "ubuntu" rather than the user "root".

Update # 2:

Hier ist die Ausgabe von ssh mit -vvv

$ ssh -i privateKey.pem [email protected] -vvv 
OpenSSH_7.5p1, LibreSSL 2.5.4 
debug1: Reading configuration data /Users/USERNAME/.ssh/config 
debug1: Reading configuration data /etc/ssh/ssh_config 
debug1: /etc/ssh/ssh_config line 52: Applying options for * 
debug2: resolving "ec2-XXX-XXX-XXX-XXX.us-west-1.compute.amazonaws.com" port 22 
debug2: ssh_connect_direct: needpriv 0 
debug1: Connecting to ec2-XXX-XXX-XXX-XXX.us-west-1.compute.amazonaws.com [XXX-XXX-XXX-XXX] port 22. 
debug1: Connection established. 
debug1: key_load_public: No such file or directory 
debug1: identity file privateKey.pem type -1 
debug1: key_load_public: No such file or directory 
debug1: identity file privateKey.pem-cert type -1 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_7.5 
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8p1 Debian-1ubuntu3 
debug1: match: OpenSSH_5.8p1 Debian-1ubuntu3 pat OpenSSH_5* compat 0x0c000000 
debug2: fd 5 setting O_NONBLOCK 
debug1: Authenticating to ec2-XXX-XXX-XXX-XXX.us-west-1.compute.amazonaws.com:22 as 'ubuntu' 
debug3: hostkeys_foreach: reading file "/Users/USERNAME/.ssh/known_hosts" 
debug3: record_hostkey: found key type RSA in file /Users/USERNAME/.ssh/known_hosts:3 
debug3: load_hostkeys: loaded 1 keys from ec2-XXX-XXX-XXX-XXX.us-west-1.compute.amazonaws.com 
debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],rsa-sha2-512,rsa-sha2-256,ssh-rsa 
debug3: send packet: type 20 
debug1: SSH2_MSG_KEXINIT sent 
debug3: receive packet: type 20 
debug1: SSH2_MSG_KEXINIT received 
debug2: local client KEXINIT proposal 
debug2: KEX algorithms: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c 
debug2: host key algorithms: [email protected],rsa-sha2-512,rsa-sha2-256,ssh-rsa,[email protected],[email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519 
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected],aes128-cbc,aes192-cbc,aes256-cbc 
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected],aes128-cbc,aes192-cbc,aes256-cbc 
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 
debug2: compression ctos: none,[email protected],zlib 
debug2: compression stoc: none,[email protected],zlib 
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug2: peer server KEXINIT proposal 
debug2: KEX algorithms: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 
debug2: host key algorithms: ssh-rsa,ssh-dss 
debug2: ciphers ctos: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] 
debug2: ciphers stoc: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] 
debug2: MACs ctos: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 
debug2: MACs stoc: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 
debug2: compression ctos: none,[email protected] 
debug2: compression stoc: none,[email protected] 
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug1: kex: algorithm: ecdh-sha2-nistp256 
debug1: kex: host key algorithm: ssh-rsa 
debug1: kex: server->client cipher: aes128-ctr MAC: [email protected] compression: none 
debug1: kex: client->server cipher: aes128-ctr MAC: [email protected] compression: none 
debug3: send packet: type 30 
debug1: sending SSH2_MSG_KEX_ECDH_INIT 
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY 
debug3: receive packet: type 31 
debug1: Server host key: ssh-rsa SHA256:y6JMkm+4kp5sV9GLZYj0xUKIVSiUXBktG9MxyfnDmxI 
debug3: hostkeys_foreach: reading file "/Users/USERNAME/.ssh/known_hosts" 
debug3: record_hostkey: found key type RSA in file /Users/USERNAME/.ssh/known_hosts:3 
debug3: load_hostkeys: loaded 1 keys from ec2-184-169-151-249.us-west-1.compute.amazonaws.com 
debug3: hostkeys_foreach: reading file "/Users/USERNAME/.ssh/known_hosts" 
debug3: record_hostkey: found key type RSA in file /Users/USERNAME/.ssh/known_hosts:3 
debug3: load_hostkeys: loaded 1 keys from 184.169.151.249 
debug1: Host 'ec2-XXX-XXX-XXX-XXX.us-west-1.compute.amazonaws.com' is known and matches the RSA host key. 
debug1: Found key in /Users/USERNAME/.ssh/known_hosts:3 
debug3: send packet: type 21 
debug2: set_newkeys: mode 1 
debug1: rekey after 4294967296 blocks 
debug1: SSH2_MSG_NEWKEYS sent 
debug1: expecting SSH2_MSG_NEWKEYS 
debug3: receive packet: type 21 
debug1: SSH2_MSG_NEWKEYS received 
debug2: set_newkeys: mode 0 
debug1: rekey after 4294967296 blocks 
debug2: key: privateKey.pem (0x0), explicit 
debug3: send packet: type 5 
debug3: receive packet: type 6 
debug2: service_accept: ssh-userauth 
debug1: SSH2_MSG_SERVICE_ACCEPT received 
debug3: send packet: type 50 
debug3: receive packet: type 51 
debug1: Authentications that can continue: publickey 
debug3: start over, passed a different list publickey 
debug3: preferred publickey,keyboard-interactive,password 
debug3: authmethod_lookup publickey 
debug3: remaining preferred: keyboard-interactive,password 
debug3: authmethod_is_enabled publickey 
debug1: Next authentication method: publickey 
debug1: Trying private key: privateKey.pem 
debug3: sign_and_send_pubkey: RSA SHA256:lbgZZp6+4mYEkpoSzvdzajq0K/c5tIm83noZ6ZDL5hE 
debug3: send packet: type 50 
debug2: we sent a publickey packet, wait for reply 
debug3: receive packet: type 51 
debug1: Authentications that can continue: publickey 
debug2: we did not send a packet, disable method 
debug1: No more authentication methods to try. 
Permission denied (publickey). 
+1

Können Sie 'ssh' zu Ihrem alten Server' -vvv' hinzufügen und die Ausgabe veröffentlichen? – helloV

+0

Ich frage mich, ob es mit 'debug1: key_load_public: Keine solche Datei oder Verzeichnis' verwandt ist? – plivesey

+1

Das 'debug1: key_load_public: Keine solche Datei oder Verzeichnis' Sache ist normal –

Antwort

1

Ich denke, Sie versehentlich die Erlaubnis geändert der Datei /home/ubuntu/.ssh/authorized_keys. Ich habe den Fehler reproduziert. Laut AWS muss /home/ubuntu/.ssh/authorized_keys nur dem Eigentümer vorbehalten sein.

Wenn Sie sich ausgeloggt haben, dann haben Sie zwei Möglichkeiten, dies zu lösen.

Methode 1: Instanz stoppen, Actions->Instance Settings->View/Change User Data Sie in den folgenden Benutzerdaten hinzuzufügen und dann die Instanz starten

Content-Type: multipart/mixed; boundary="//" 
MIME-Version: 1.0 

--// 
Content-Type: text/cloud-config; charset="us-ascii" 
MIME-Version: 1.0 
Content-Transfer-Encoding: 7bit 
Content-Disposition: attachment; filename="cloud-config.txt" 

#cloud-config 
cloud_final_modules: 
- [scripts-user, always] 

--// 
Content-Type: text/x-shellscript; charset="us-ascii" 
MIME-Version: 1.0 
Content-Transfer-Encoding: 7bit 
Content-Disposition: attachment; filename="userdata.txt" 

#!/bin/bash 
chmod 600 /home/ubuntu/.ssh/authorized_keys 
chmod 700 /home/ubuntu/.ssh 
chmod 700 /home/ubuntu 
--// 

Methode 2: Sie können eine Debug-Instanz starten. Dann stoppen Sie den alten Server und das root-Lautstärke Ihres alten Server auf den Debug-Instanz, und führen Sie die folgenden Befehle, um die richtige Berechtigung zu setzen:

[ubuntu ~]chmod 600 mount_point/home/ubuntu/.ssh/authorized_keys 
[ubuntu ~]chmod 700 mount_point/home/ubuntu/.ssh 
[ubuntu ~]chmod 700 mount_point/home/ubuntu 

Es es nicht funktioniert, können Sie die Schritte folgenden könnten Fehlerbehebung bei Ihrer Instanz: Error: Host key not found, Permission denied (publickey), or Authentication failed, permission denied

+0

Ah, verdammt. Ich habe gerade den Zugang verloren. Das sieht aber vielversprechend aus. Ich werde morgen den chmod-Befehl ausprobieren. Vielen Dank! – plivesey

+0

Ich habe eine neue Lösung zu Benutzerdaten hinzugefügt, um dies zu lösen. Es ist einfach zu bedienen und ich habe mit meiner Instanz getestet und es funktioniert. –

+0

Hmmmm ... Leider hat die Benutzerdatenversion nicht funktioniert. Da ich meinen Server migrieren konnte, denke ich, ich werde nur eine neue Instanz mit diesem Image erstellen. Wahrscheinlich der schnellste Weg, dies zu lösen. – plivesey

Verwandte Themen