GOOGLE ADS

Mittwoch, 27. April 2022

gcloud compute config-ssh führt dazu, dass die Berechtigung verweigert wird

Ich versuche, in eine gce-Instanz zu ssh:

C:\Users\Kevin>gcloud compute config-ssh
You should now be able to use ssh/scp with your instances.
For example, try running:
$ ssh sdkmanager.us-central1-a.canigraduate-43286
C:\Users\Kevin>ssh sdkmanager.us-central1-a.canigraduate-43286
kevin@35.184.189.41: Permission denied (publickey).

Ich denke also, dass "sollte" nicht "kann" bedeutet. Was kann ich tun, um herauszufinden, warum das nicht funktioniert? Ich habe die OS-Anmeldung deaktiviert.


Lösung des Problems

Wie ich sehe, verwenden Sie Windows. Stellen Sie daher zunächst sicher, dass Sie die offiziellen GCP-Installationsanweisungen befolgen, um gcloud ordnungsgemäß auf Ihrer Windows-Version zu installieren.

Um nun eine SSH -Verbindung zu Ihrer Instanz herzustellen, nennen wir sie „example-instance" in der Zone us-central1-a, führen Sie Folgendes aus:

gcloud compute ssh example-instance --zone=us-central1-a

Sie können auch einen Befehl auf der virtuellen Maschine ausführen. Um beispielsweise einen Snapshot des Prozessbaums des Gasts zu erhalten, führen Sie Folgendes aus:

gcloud compute ssh example-instance --zone=us-central1-a --command="ps -ejH"

Verwenden Sie die folgende offizielle Dokumentation für detailliertere Schritte dazu.

Wenn danach derselbe Permission Denied- Fehler auftritt, gehen Sie wie folgt vor:


  • Öffnen Sie auf Ihrer Workstation ein Terminal und verwenden Sie den Befehl ssh-keygen, um einen neuen Schlüssel zu generieren. Geben Sie das Flag -C an, um einen Kommentar mit Ihrem Benutzernamen hinzuzufügen.


ssh-keygen -t rsa -f ~/.ssh/[KEY_FILENAME] -C [USERNAME]


  • Navigieren Sie in das.ssh-Verzeichnis:


cd ~/.ssh


  • Beschränken Sie den Zugriff auf Ihren privaten Schlüssel, sodass nur Sie ihn lesen und niemand darauf schreiben kann.


chmod 400 [KEY_FILENAME]


  • Doppelklicken Sie auf KEY_FILENAME.pub, um es zu öffnen ODER drucken Sie es mit dem cat-Befehl auf der Konsole aus:


sudo cat KEY_FILENAME.pub

Der öffentliche SSH-Schlüssel sollte dieses Format haben:

ssh-rsa [KEY_VALUE] [USERNAME]

ODER

ssh-rsa [KEY_VALUE] google-ssh {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}

Kopieren Sie den Inhalt und fügen Sie ihn in den SSH-Abschnitt Ihrer Instanz unter dem Abschnitt Metadaten ein. Öffentliche SSH-Schlüssel auf Instanzebene hinzufügen oder entfernen. Befolgen Sie dazu diese Anleitung.

Navigieren Sie in einem lokalen Terminal zu dem Verzeichnis, in dem sich die private SSH-Schlüsseldatei befindet, verwenden Sie den Befehl ssh zusammen mit Ihrer privaten SSH-Schlüsseldatei, dem Benutzernamen und der externen IP-Adresse der Instanz, um eine Verbindung herzustellen. Zum Beispiel:

ssh -i private-key username@external-ip-of-the-virtual-instance

Nachdem Sie eine Verbindung hergestellt haben, führen Sie mit diesem Terminal Befehle auf Ihrer Instanz aus. Wenn Sie fertig sind, trennen Sie die Verbindung zur Instanz, indem Sie den Befehl exit ausführen.

Verwenden Sie die hier beschriebenen Schritte zur Fehlerbehebung, um eine detailliertere Anleitung zu erhalten.

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...