SSH-Unterstützung

Auf dieser Seite wird beschrieben, wie Sie mit der gcloud-Befehlszeile über SSH (oder ein anderes TCP-Protokoll) eine Verbindung von einem lokalen Computer zu Ihrer Workstation herstellen.

Cloud Workstations verwendet einen Tunnel, um TCP-Traffic zwischen einem Port auf Ihrem einem lokalen Computer und einem Port auf Ihrer Workstation, mit dem Internet verbinden. Verbindungen werden mit Anmeldedaten aus der gcloud-Befehlszeile authentifiziert und gemäß den IAM-Richtlinien der Zielarbeitsstation autorisiert.

Nachdem der TCP-Tunnel zwischen Ihrem lokalen Port und der Workstation eingerichtet ist, können Sie damit Traffic von einem SSH-Client, curl oder anderen die TCP verwendet.

Für den Komfort bietet Cloud Workstations den Befehl gcloud workstations ssh, mit dem der TCP-Tunnel eingerichtet und ein SSH-Client mit einem einzigen gcloud-Befehlszeilenbefehl ausgeführt wird.

Verwenden Sie für alle anderen Anwendungsfälle die Methode gcloud workstations start-tcp-tunnel um den TCP-Tunnel einzurichten und die Anwendung auszuführen, die den Tunnel (z. B. curl) in einem separaten Terminal.

Hinweis

  1. Wenn Sie noch keine Workstation haben, mit der Sie eine Verbindung herstellen können, richten Sie eine Workstation ein.

  2. Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

  3. Sie müssen die IAM-Rolle Nutzer von Cloud-Arbeitsstationen auf der Workstation haben, mit der Sie eine Verbindung herstellen möchten.

    IAM aufrufen

Über SSH eine Verbindung zu Ihrer Workstation herstellen

Verwenden Sie zum Herstellen einer sicheren SSH-Verbindung zu Ihrer Workstation die Methode gcloud workstations ssh zum Starten eines TCP-Tunnels und zum Ausführen eines SSH-Clients.

Um den Befehl in den Zwischenspeicher zum Kopieren und Einfügen zu kopieren, klicken Sie auf Kopieren Sie das Codebeispiel und fügen Sie den Befehl dann in einem lokalen Terminalfenster ein:

gcloud workstations ssh \
    --project=PROJECT_ID \
    --region=REGION \
    --cluster=CLUSTER_NAME \
    --config=CONFIG_NAME  \
    --port=WORKSTATION_PORT  \
    --local-host-port=localhost:LOCAL_PORT  \
    WORKSTATION_NAME

Ersetzen Sie die folgenden Werte:

  • PROJECT_ID: die Google Cloud-Projekt-ID des Projekts, das die Workstation enthält. Wenn nichts angegeben ist, wird das aktuelle Projekt verwendet.

  • REGION: Die Region, in der sich der Cluster der Workstation befindet, z. B. us-central1.

  • CLUSTER_NAME: Der Name des Workstation-Clusters, der die Workstation enthält.

  • CONFIG_NAME: der Name der Workstation-Konfiguration, die diese Workstations enthält.

  • WORKSTATION_PORT (optional): der Port auf der Workstation an den Traffic gesendet werden soll. Wenn keine Angabe gemacht wird, wird der Traffic an den Port gesendet 22 Alle vorkonfigurierten Cloud Workstations-Images enthalten einen SSH-Server, der auf dem Workstation-Port 22 ausgeführt wird.

  • LOCAL_PORT (optional): der Localhost-Port, von dem aus Traffic gesendet wird. Gültige Portnummern sind 1024 bis 65535. Wenn Sie das Flag --local-host-port weglassen oder einen Port von 0 angeben, wird automatisch ein nicht verwendeter Port ausgewählt.

  • WORKSTATION_NAME: der Name der Workstation.

Optional: Zur Übergabe von Flags und Positionierungen an die zugrunde liegende ssh fügen Sie sie nach einem doppelten Bindestrich (--) an den Befehl an.

Mit einem TCP-Tunnel beliebigen TCP-Traffic an Ihre Workstation weiterleiten

Wenn Sie mit einer anderen TCP-Anwendung als ssh eine Verbindung zu einer Workstation herstellen möchten, verwenden Sie die Methode gcloud workstations start-tcp-tunnel Befehl:

  1. Führen Sie den folgenden gcloud-Befehl aus, um einen authentifizierten TCP-Tunnel zu erstellen.

    Um den Befehl in den Zwischenspeicher zum Kopieren und Einfügen zu kopieren, klicken Sie auf Kopieren Sie das Codebeispiel und fügen Sie den Befehl dann in einem lokalen Terminalfenster ein:

    gcloud workstations start-tcp-tunnel \
        --project=PROJECT_ID \
        --region=REGION \
        --cluster=CLUSTER_NAME \
        --config=CONFIG_NAME \
        --local-host-port=localhost:LOCAL_PORT \
        WORKSTATION_NAME \
        WORKSTATION_PORT
    

    Ersetzen Sie die folgenden Werte:

    • PROJECT_ID: die Google Cloud-Projekt-ID des Projekts, das die Workstation enthält. Wenn nichts angegeben ist, wird das aktuelle Projekt verwendet.

    • REGION: Die Region, in der sich der Cluster der Workstation befindet, z. B. us-central1.

    • CLUSTER_NAME: der Name des Workstationclusters mit der Workstation.

    • CONFIG_NAME: der Name der Workstation Konfiguration, die diese Workstations enthält.

    • LOCAL_PORT (optional): der Localhost-Port, von dem aus Traffic gesendet wird. Gültige Portnummern sind 1024 bis 65535. Wenn Sie das Flag --local-host-port weglassen oder den Port 0 angeben, wird automatisch ein nicht verwendeter Port ausgewählt.

    • WORKSTATION_NAME: Der Name der Workstation.

    • WORKSTATION_PORT: der Port der Workstation, an den gesendet werden sollen. Vorkonfigurierte Cloud Workstations-Images enthalten einen SSH-Server, der auf dem Workstationport 22 ausgeführt wird.

  2. Der Befehl gcloud der Befehlszeile führt einen Konnektivitätstest mit der Workstation, öffnet einen Tunnel und zeigt dann eine Portnummer an:

    Listening on port [LOCAL_PORT].
    

    Der gesamte an localhost:LOCAL_PORT gesendete Traffic wird weitergeleitet an auf der Workstation. Der Port ist nur für Anwendungen zugänglich, die auf Ihrem lokalen Computer ausgeführt werden.

  3. Lassen Sie die gcloud-Befehlszeile ausgeführt und öffnen Sie ein anderes Terminal, um die die eine Verbindung zur Workstation herstellt.

    Wenn Sie z. B. auf Ihrer Workstation einen Server ausführen, Port WORKSTATION_PORT. Im vorherigen Schritt haben Sie Sie haben einen TCP-Tunnel erstellt, der den Traffic zwischen Ihrem lokalen Port weiterleitet. LOCAL_PORT und der Workstationport WORKSTATION_PORT, Sie könnten curl auf Ihrem lokalen Gerät ausführen um eine Verbindung zum Server auf Ihrer Workstation herzustellen:

    curl localhost:LOCAL_PORT
    Hello, world!
    
  4. Wenn Sie fertig sind, kehren Sie zum Terminal zurück, in dem Sie den TCP-Tunnel gestartet haben, und beenden Sie die gcloud-Befehlszeile mit Strg + C.

SSH-Server an verschiedenen Ports verwenden

Benutzerdefinierte Container-Images können auch SSH-Server an jedem Port verwenden. Wenn Sie Verbindungen über den gcloud-CLI-Tunnel unterstützen möchten, müssen Sie benutzerdefinierte SSH-Server konfigurieren, um die Passwortauthentifizierung zuzulassen, und dem Zielnutzer ein leeres Passwort zuweisen. Cloud Workstations verwendet Cloud IAM, um sicherzustellen, dass nur autorisierter Traffic an den SSH-Server gesendet wird.

Nächste Schritte