Ssh an GCE nicht möglich: "Erlaubnis verweigert (publickey)"


20

Ich habe über Bitnami in Google Compute Engine eine VM erstellt. Zuvor konnte ich über das Bitnami-Webinterface sshen. Ich habe versucht, über ein Terminal auf meinem Mac zu sshen, aber immer wieder die Permission denied (publickey)Fehlermeldung erhalten. Ich habe dann alle Schlüssel auf dem Server und meinem Mac gelöscht und die PEM-Datei von bitnami heruntergeladen und die -iVerbindungsoption verwendet, aber das Problem bleibt bestehen.

ssh -i bitnami-gce.pem xxx@1xx.1xx.5x.1xx -v

Vollständige Debug-Informationen:

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to 1xx.1xx.5x.1xx [1xx.1xx.5x.1xx] port 22.
debug1: Connection established.
debug1: identity file bitnami-gce.pem type -1
debug1: identity file bitnami-gce.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Debian-4~bpo70+1
debug1: match: OpenSSH_6.6.1p1 Debian-4~bpo70+1 pat OpenSSH*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5-etm@openssh.com none
debug1: kex: client->server aes128-ctr hmac-md5-etm@openssh.com none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA <RSA KEY>
debug1: Host '1xx.1xx.5x.1xx' is known and matches the RSA host key.
debug1: Found key in /Users/xxx/.ssh/known_hosts:1
debug1: ssh_rsa_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
debug1: Next authentication method: publickey
debug1: Trying private key: bitnami-gce.pem
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

Ich kann nicht an den Host senden. Ich kann jetzt also keine Schlüssel an den Server senden. Wie kann das behoben werden?

Bearbeiten: Ich habe versucht, über die Google-Webkonsole zu sshen, und ich konnte es tun. Kann mir jemand von überall die genauen Schritte zu ssh sagen? Ich bevorzuge den einfachen Benutzernamen und das Passwort. Wie konfiguriere ich das so?


1. Nach dem Erstellen eines neuen SSH-Schlüssels 2. Hinzufügen eines öffentlichen SSH-
Jirayuth Sing-ngam

Antworten:


19

Nachdem ich in der Lage war, über die Google-Webkonsole zu sshen, habe ich die folgenden Schritte ausgeführt, um das Problem zu beheben:

  1. Generieren Sie den SSH-Schlüssel mit

    ssh-keygen

  2. Kopieren Sie den Inhalt der Datei key.pub

  3. Hängen Sie den Inhalt an die ~/.ssh/authorized_keysDatei an

    sudo nano ~/.ssh/authorized_keys


5

Wenn Ihre Instanz zum ersten Mal erstellt wird, enthält sie standardmäßig keine SSH-Schlüssel. Sie müssen sie daher dorthin übertragen, z. B. indem gcloudSie zum ersten Mal eine Verbindung herstellen, wie in dieser SO-Antwort beschrieben, oder indem Sie SSH-Schlüssel manuell erstellen und manuelles Hinzufügen zu Ihrer Instanz, wie in einer anderen SO-Antwort beschrieben .


5

Ich war wegen des Benutzers mit der gleichen Situation konfrontiert. Auf Google Web zeigte mein Benutzername einen ersten Teil meiner E-Mail. Also habe ich ssh so ausprobiert

ssh <first_part_of_gmail>@google_vm_external_ip

Später stelle ich fest, dass Google einen Nutzer basierend auf dem SSH-Schlüssel erstellt, den Sie für die Google VM-Einstellung festgelegt haben. Überprüfen Sie daher zuerst den Benutzer am Ende des öffentlichen Schlüssels und versuchen Sie Folgendes

ssh <user_name_at_the_end_of_public_key>@google_vm_external_ip

Rette mein leben. Vielen Dank.
Tran Dinh Khanh

2

hatte das gleiche Problem, ich habe mich zum ersten Mal mit dem Befehl gcloud angemeldet und zu "/ etc / ssh / sshd_config" hinzugefügt

PubkeyAcceptedKeyTypes  +ssh-dss

systemctl starte sshd neu


0

Es ist eine alte Frage, aber ich hatte dieses Problem auch heute und habe es folgendermaßen behoben:

  1. Generieren Sie den öffentlichen SSH-Schlüssel von Ihrem lokalen Computer
  2. Kopieren Sie den öffentlichen Schlüssel in die Einstellungen der virtuellen Maschine gcc

und dann verbinden.

Diese Schritte führen Sie zum Herstellen einer Verbindung zu Ihrer gcc vm-Instanz auf dem Mac OS-Terminal mithilfe von ssh: https://nabtron.com/gcc-mac-terminal/ und beheben das Problem der verweigerten Erlaubnis (pubilckey).

Ich hoffe, es hilft.


0

Sie müssen sicherstellen, dass die Dateiberechtigung für bitnami-gce.pem 600 beträgt

versuchen Sie chmod 600 bitnami-gce.pem

Grüße Ahmed

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.