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 -i
Verbindungsoption verwendet, aber das Problem bleibt bestehen.
ssh -i bitnami-gce.pem [email protected] -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 [email protected] none
debug1: kex: client->server aes128-ctr [email protected] 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?
Antworten:
Nachdem ich in der Lage war, über die Google-Webkonsole zu sshen, habe ich die folgenden Schritte ausgeführt, um das Problem zu beheben:
Generieren Sie den SSH-Schlüssel mit
ssh-keygen
Kopieren Sie den Inhalt der Datei key.pub
Hängen Sie den Inhalt an die
~/.ssh/authorized_keys
Datei ansudo nano ~/.ssh/authorized_keys
quelle
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
gcloud
Sie 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 .quelle
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
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
quelle
hatte das gleiche Problem, ich habe mich zum ersten Mal mit dem Befehl gcloud angemeldet und zu "/ etc / ssh / sshd_config" hinzugefügt
systemctl starte sshd neu
quelle
Es ist eine alte Frage, aber ich hatte dieses Problem auch heute und habe es folgendermaßen behoben:
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.
quelle
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
quelle