Informationen zu SSH-Verbindungen


Compute Engine verwendet die schlüsselbasierte SSH-Authentifizierung, um Verbindungen zu allen Linux-VM-Instanzen herzustellen. Sie können optional SSH für Windows-VMs aktivieren. Standardmäßig sind Passwörter für lokale Nutzer auf Linux-VMs nicht konfiguriert.

Bevor Sie eine Verbindung zu einer VM herstellen können, müssen mehrere Konfigurationen durchgeführt werden. Wenn Sie die Google Cloud Console oder die Google Cloud CLI verwenden, um eine Verbindung zu Ihren VMs herzustellen, führt Compute Engine diese Konfigurationen für Sie durch. Compute Engine führt verschiedene Konfigurationen durch, je nachdem, welches Tool Sie zum Herstellen einer Verbindung verwenden und ob Sie den Zugriff auf VMs über Metadaten oder OS Login verwalten. OS Login ist nur für Linux-VMs verfügbar.

Metadatenverwaltete SSH-Verbindungen

Standardmäßigverwendet Compute Engine benutzerdefinierte Projekt- und/oder Instanzmetadaten, um SSH-Schlüssel zu konfigurieren und den SSH-Zugriff zu verwalten. Alle Windows-VMs verwenden Metadaten zum Verwalten von SSH-Schlüsseln. Linux-VMs können Metadatenschlüssel oder OS Login verwenden. Bei Verwendung von OS Login sind Metadaten-SSH-Schlüssel deaktiviert.

Klicken Sie auf die einzelnen Tabs, um mehr über die Konfigurationen zu erfahren, die Compute Engine durchführt, bevor es SSH-Verbindungen zulässt, wenn Sie eine Verbindung zu VMs über die Google Cloud Console, mit der gcloud CLI oder mit Tools von Drittanbietern herstellen. Wenn Sie eine Verbindung zu VMs herstellen, ohne die Google Cloud Console oder die gcloud CLI zu verwenden, müssen Sie einige Konfigurationen selbst vornehmen.

Console

  1. Sie können über die SSH-Schaltfläche in der Google Cloud Console eine Verbindung zu Ihrer VM herstellen.
  2. Compute Engine legt einen Nutzernamen fest und erstellt ein sitzungsspezifisches SSH-Schlüsselpaar mit der folgenden Konfiguration:
    • Ihr Nutzername ist als Nutzername für Ihr Google-Konto festgelegt. Wenn die mit Ihrem Google-Konto verknüpfte E-Mail-Adresse beispielsweise cloudysanfrancisco@gmail.com ist, lautet Ihr Nutzername cloudysanfrancisco.
    • Ihre öffentlichen und privaten SSH-Schlüssel werden in Ihrer Browsersitzung gespeichert.
    • Dein SSH-Schlüssel hat eine Ablaufzeit von fünf Minuten. Fünf Minuten, nachdem der Schlüssel in Compute Engine erstellt wurde, können Sie den SSH-Schlüssel nicht mehr verwenden, um eine Verbindung zur VM herzustellen.
  3. Compute Engine lädt den öffentlichen SSH-Schlüssel und den Nutzernamen in Metadaten hoch.
  4. Compute Engine ruft den SSH-Schlüssel und den Nutzernamen aus den Metadaten ab, erstellt ein Nutzerkonto mit dem Nutzernamen und speichert auf Linux VMs den öffentlichen Schlüssel in der Datei ~/.ssh/authorized_keys des Nutzers auf der VM. Auf Windows-VMs speichert Compute Engine den öffentlichen Schlüssel nicht auf der VM.
  5. Compute Engine lässt die Verbindung zu.

gcloud

  1. Zum Herstellen einer Verbindung zu Ihrer VM verwenden Sie den Befehl gcloud compute ssh.
  2. Compute Engine legt einen Nutzernamen fest und erstellt ein persistentes SSH-Schlüsselpaar mit den folgenden Konfigurationen:
    • Ihr Nutzername wird als Nutzername auf Ihrem lokalen Computer festgelegt.
    • Der öffentliche SSH-Schlüssel wird in den Projektmetadaten gespeichert. Wenn Compute Engine den SSH-Schlüssel nicht in Projektmetadaten speichern kann, z. B. weil block-project-ssh-keys auf TRUE gesetzt ist, speichert Compute Engine den SSH-Schlüssel in den Instanzmetadaten.
    • Der private SSH-Schlüssel wird auf dem lokalen Computer gespeichert.
    • Ihr SSH-Schlüssel hat kein Ablaufdatum. Er wird für alle zukünftigen SSH-Verbindungen verwendet, die Sie herstellen, es sei denn, Sie konfigurieren einen neuen Schlüssel.
  3. Compute Engine lädt den öffentlichen SSH-Schlüssel und den Nutzernamen in Metadaten hoch.
  4. Compute Engine ruft den SSH-Schlüssel und den Nutzernamen aus den Metadaten ab, erstellt ein Nutzerkonto mit dem Nutzernamen und speichert auf Linux VMs den öffentlichen Schlüssel in der Datei ~/.ssh/authorized_keys des Nutzers auf der VM. Auf Windows-VMs speichert Compute Engine den öffentlichen Schlüssel nicht auf der VM.
  5. Compute Engine lässt die Verbindung zu.

Tools von Drittanbietern

  1. Sie erstellen ein SSH-Schlüsselpaar und einen Nutzernamen. Weitere Informationen finden Sie unter SSH-Schlüssel erstellen.
  2. Der öffentliche Schlüssel und der Nutzername werden in die Metadaten hochgeladen. Weitere Informationen finden Sie unter SSH-Schlüssel zu VMs hinzufügen, die metadatenbasierte SSH-Schlüssel verwenden.
  3. Sie stellen eine Verbindung zur VM her.
  4. Compute Engine ruft den SSH-Schlüssel und den Nutzernamen aus den Metadaten ab, erstellt ein Nutzerkonto mit dem Nutzernamen und speichert auf Linux VMs den öffentlichen Schlüssel in der Datei ~/.ssh/authorized_keys des Nutzers auf der VM. Auf Windows-VMs speichert Compute Engine den öffentlichen Schlüssel nicht auf der VM.
  5. Compute Engine lässt die Verbindung zu.

Von OS Login verwaltete SSH-Verbindungen

Wenn Sie OS Login-Metadaten festlegen, löscht Compute Engine die authorized_keys-Dateien der VM und akzeptiert keine Verbindungen mehr von SSH-Schlüsseln, die in Projekt- oder Instanzmetadaten gespeichert sind.

Klicken Sie auf die einzelnen Tabs, um mehr über die Konfigurationen zu erfahren, die Compute Engine durchführt, bevor es SSH-Verbindungen zulässt, wenn Sie eine Verbindung zu VMs über die Google Cloud Console, mit der gcloud CLI oder mit Tools von Drittanbietern herstellen. Wenn Sie eine Verbindung zu VMs herstellen, ohne die Google Cloud Console oder die gcloud CLI zu verwenden, müssen Sie einige Konfigurationen selbst vornehmen.

Console

  1. Sie können über die SSH-Schaltfläche in der Google Cloud Console eine Verbindung zu Ihrer VM herstellen.
  2. Compute Engine legt einen Nutzernamen fest und erstellt ein sitzungsspezifisches SSH-Schlüsselpaar mit der folgenden Konfiguration:
    • Compute Engine legt einen Nutzernamen fest und erstellt ein sitzungsspezifisches SSH-Schlüsselpaar mit der folgenden Konfiguration: Wenn für Ihre Organisation kein Nutzername konfiguriert wurde oder Ihr Projekt nicht zu einer Organisation gehört, verwendet Compute Engine die E-Mail-Adresse Ihres Google-Kontos im folgenden Format:

      USERNAME_DOMAIN_SUFFIX
      Wenn die mit Ihrem Google-Konto verknüpfte E-Mail-Adresse beispielsweise cloudysanfrancisco@gmail.com lautet, ist Ihr generierter Nutzername cloudysanfrancisco_gmail_com.

    • Der öffentliche SSH-Schlüssel wird in deiner Browsersitzung und in deinem Google-Konto gespeichert.
    • Der private SSH-Schlüssel wird in Ihrer Browsersitzung gespeichert.
    • Dein SSH-Schlüssel hat eine Ablaufzeit von drei Minuten. Drei Minuten, nachdem der Schlüssel in Compute Engine erstellt wurde, können Sie den SSH-Schlüssel nicht mehr verwenden, um eine Verbindung zur VM herzustellen.
  3. Compute Engine löst Ihren angegebenen Nutzernamen in Ihrem OS Login-Konto in der VM mithilfe von NNS-Dienstmodulen auf.
  4. Die Compute Engine führt eine IAM-Autorisierung mithilfe der AuthorizedKeysCommand durch, um sicherzustellen, dass Sie die erforderlichen Berechtigungen zum Herstellen einer Verbindung haben.
  5. Die AuthorizedKeysCommand ruft den SSH-Schlüssel aus Ihrem Nutzerkonto ab und stellt ihn OpenSSH in der VM zur Verfügung.
  6. Compute Engine lässt die Verbindung zu.

gcloud

  1. Zum Herstellen einer Verbindung zu Ihrer VM verwenden Sie den Befehl gcloud compute ssh.
  2. Compute Engine legt einen Nutzernamen fest und erstellt ein persistentes SSH-Schlüsselpaar mit den folgenden Konfigurationen:
    • Compute Engine legt einen Nutzernamen fest und erstellt ein sitzungsspezifisches SSH-Schlüsselpaar mit der folgenden Konfiguration: Wenn Ihre Organisation keinen Nutzernamen für Sie konfiguriert hat, verwendet Compute Engine die E-Mail-Adresse Ihres Google-Kontos im folgenden Format:

      USERNAME_DOMAIN_SUFFIX
      Wenn die mit Ihrem Google-Konto verknüpfte E-Mail-Adresse beispielsweise cloudysanfrancisco@gmail.com lautet, ist Ihr generierter Nutzername cloudysanfrancisco_gmail_com.

    • Der öffentliche SSH-Schlüssel wird in Ihrem Google-Konto gespeichert.
    • Ihr privater SSH-Schlüssel wird auf Ihrem lokalen Computer in der Datei google_compute_engine gespeichert.
    • Ihr SSH-Schlüssel hat kein Ablaufdatum. Er wird für alle zukünftigen SSH-Verbindungen verwendet, die Sie herstellen, es sei denn, Sie konfigurieren einen neuen Schlüssel.
  3. Compute Engine löst Ihren angegebenen Nutzernamen in Ihrem OS Login-Konto in der VM mithilfe von NNS-Dienstmodulen auf.
  4. Die Compute Engine führt eine IAM-Autorisierung mithilfe der AuthorizedKeysCommand durch, um sicherzustellen, dass Sie die erforderlichen Berechtigungen zum Herstellen einer Verbindung haben.
  5. Die AuthorizedKeysCommand ruft den SSH-Schlüssel aus Ihrem Nutzerkonto ab und stellt ihn OpenSSH in der VM zur Verfügung.
  6. Compute Engine lässt die Verbindung zu.

Tools von Drittanbietern

  1. Sie erstellen ein SSH-Schlüsselpaar. Weitere Informationen finden Sie unter SSH-Schlüssel erstellen.
  2. Der öffentliche SSH-Schlüssel wird in Ihr OS Login-Profil hochgeladen. Weitere Informationen finden Sie unter Schlüssel zu VMs hinzufügen, die OS Login verwenden.
    • Compute Engine speichert Ihren Schlüssel in Ihrem Google-Konto.
    • Compute Engine konfiguriert Ihren Nutzernamen im Standardformat:
          USERNAME_DOMAIN_SUFFIX
      Wenn die mit Ihrem Google-Konto verknüpfte E-Mail-Adresse beispielsweise cloudysanfrancisco@gmail.com lautet, ist Ihr generierte Nutzername cloudysanfrancisco_gmail_com.
  3. Sie können optional einen Nutzernamen mit der Google Workspace Admin Directory API festlegen.
  4. Sie stellen eine Verbindung zur VM her.
  5. Compute Engine löst Ihren angegebenen Nutzernamen in Ihrem OS Login-Konto in der VM mithilfe von NNS-Dienstmodulen auf.
  6. Die Compute Engine führt eine IAM-Autorisierung mithilfe der AuthorizedKeysCommand durch, um sicherzustellen, dass Sie die erforderlichen Berechtigungen zum Herstellen einer Verbindung haben.
  7. Die AuthorizedKeysCommand ruft den SSH-Schlüssel aus Ihrem Nutzerkonto ab und stellt ihn OpenSSH in der VM zur Verfügung.
  8. Compute Engine lässt die Verbindung zu.

Nächste Schritte