In diesem Dokument wird beschrieben, wie Sie mithilfe der TCP-Weiterleitung von Identity-Aware Proxy (IAP) eine Verbindung zu einer VM-Instanz über ihre interne IP-Adresse herstellen.
Mit der IAP-TCP-Weiterleitung können Sie einen verschlüsselten Tunnel einrichten, über den Sie SSH-Verbindungen an VMs weiterleiten können. Wenn Sie eine Verbindung zu einer VM herstellen, die IAP verwendet, verpackt IAP die SSH-Verbindung in HTTPS, bevor die Verbindung an die VM weitergeleitet wird. IAP prüft dann, ob Sie die erforderlichen IAM-Berechtigungen haben. Ist dies der Fall, wird der VM Zugriff gewährt.
Wenn Sie eine Verbindung zu einer VM herstellen müssen, die keine externen IP-Adressen hat und Sie IAP nicht verwenden können, lesen Sie die anderen Methoden unter Verbindungsoptionen für interne VMs.
Hinweis
- Erstellen Sie eine Firewallregel, um Verbindungen über IAP zu aktivieren.
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- In the Google Cloud console, go to the VM instances page.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
Stellen Sie mit folgendem Befehl eine Verbindung zur VM her:
gcloud compute ssh VM-NAME \ --tunnel-through-iap
-
Installieren Sie IAP Desktop auf Ihrer Workstation, falls noch nicht geschehen.
-
Rufen Sie IAP Desktop auf. Das Fenster Projekte hinzufügen wird geöffnet.
-
Wenn Sie dazu aufgefordert werden, melden Sie sich mit dem Google-Konto an, das Zugriff auf das Projekt mit den VMs hat, zu denen Sie eine Verbindung herstellen möchten.
-
Geben Sie im Fenster Projekte hinzufügen die Projekt-ID oder den Namen des Projekts ein, das die VMs enthält, zu denen Sie eine Verbindung herstellen möchten.
-
Klicken Sie im Fenster Project Explorer mit der rechten Maustaste noch einmal auf den Namen der VM und wählen Sie Verbinden aus, um eine Verbindung zur VM herzustellen.
- Fügen Sie der VM einen SSH-Schlüssel hinzu, falls noch nicht geschehen.
- Wenn auf der Workstation die PuTTY-Anwendung noch nicht installiert ist, laden Sie die PuTTY-Paketdateien herunter.
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf und suchen Sie den Namen der VM, zu der Sie eine Verbindung herstellen möchten.
- Öffnen Sie die PuTTY-Anwendung. Es wird ein Fenster zur Verbindungskonfiguration geöffnet.
Geben Sie im Feld
Host Name
den dem SSH-Schlüssel zugeordneten Nutzernamen und den Namen der VM ein, zu der Sie eine Verbindung herstellen möchten. Verwenden Sie das folgende Format:USERNAME@VM_NAME
Ersetzen Sie Folgendes:
USERNAME
: Ihren Nutzernamen. Wenn Sie Ihre SSH-Schlüssel in Metadaten verwalten, muss dies der Nutzername sein, den Sie bei der Erstellung des SSH-Schlüssels bestimmt haben. Für OS Login-Konten wird der Nutzername in Ihrem Google-Profil festgelegt. Beispielcloudysanfrancisco_example_com
odercloudysanfrancisco
.-
NAME
ist der Name der VM.
- Gehen Sie unter Kategorie zu Verbindung > SSH-Verbindung > Authentifizierung.
- Wählen Sie im Feld Private Schlüsseldatei zur Authentifizierung die private SSH-Schlüsseldatei aus, die dem öffentlichen Schlüssel entspricht, den Sie der VM hinzugefügt haben.
- Gehen Sie im Menü Kategorie zu Verbindung > Proxy.
- Wählen Sie unter Proxytyp die Option Lokal aus.
Geben Sie im Feld Telnet-Befehl oder lokaler Proxybefehl den folgenden Befehl ein:
gcloud.cmd compute start-iap-tunnel VM_NAME PORT_NUMBER --listen-on-stdin --project=PROJECT_ID --zone=ZONE
Dabei gilt:
VM_NAME
ist der Name der VM, zu der Sie eine Verbindung herstellen möchten.PORT_NUMBER
ist der Port, auf dem der sshd-Daemon ausgeführt wird. Der StandardwertPORT_NUMBER
ist22
.PROJECT_ID
ist das Projekt, das die VM hostet, zu der Sie eine Verbindung herstellen möchten.ZONE
ist die Zone, in der sich die VM befindet.
- Klicken Sie auf Öffnen, um eine Verbindung zur VM herzustellen.
- Zugriff auf Instanzen verwalten
- Dateien auf VMs übertragen
- Mehr darüber erfahren, wie SSH-Verbindungen zu Linux-VMs in Compute Engine funktionieren.
Unterstützte Betriebssysteme
Diese Verbindungsmethoden werden für alle öffentlichen Linux-Images unterstützt, die in Compute Engine verfügbar sind. Für Fedora CoreOS-Images müssen Sie den SSH-Zugriff einrichten, bevor Sie diese Methoden verwenden können.
Verbindung zu VMs herstellen
Führen Sie die Schritte auf einem der folgenden Tabs aus, um eine Verbindung zu einer VM herzustellen.
Console
So leiten Sie SSH-Verbindungen über die interne IP-Adresse einer VM mithilfe von SSH im Browser weiter:
gcloud
Erstellen Sie mit dem Befehl
gcloud compute ssh
und dem Flag--tunnel-through-iap
Tunnel-SSH-Verbindungen über die interne IP-Adresse einer VM:In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Ersetzen Sie
VM_NAME
durch den Namen der VM, zu der Sie eine Verbindung herstellen möchten.IAP Desktop
So stellen Sie über IAP Desktop eine Verbindung zu einer VM her:
PuTTY-Anwendung
So leiten Sie SSH-Verbindungen über PuTTY über die interne IP-Adresse einer VM weiter:
Fehlerbehebung
Methoden zur Diagnose und Behebung von fehlerhaften SSH-Verbindungen finden Sie unter Fehlerbehebung für SSH.
Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-12-22 (UTC).
-