SSH-Verbindungen zu Linux-VMs


Compute Engine verwendet die schlüsselbasierte SSH-Authentifizierung, um Verbindungen zu Linux-VM-Instanzen herzustellen. Standardmäßig sind lokale Nutzer mit Passwörtern nicht auf Linux-VMs 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 das gcloud-Befehlszeilentool verwenden, um eine Verbindung zu Ihren VMs herzustellen, führt Compute Engine diese Konfigurationen für Sie aus. Compute Engine führt verschiedene Konfigurationen aus, je nachdem, welches Tool Sie zum Herstellen einer Verbindung verwenden und ob Sie den Zugriff auf VMs über Metadaten oder OS Login verwalten.

Metadatenverwaltete SSH-Verbindungen

Standardmäßig verwendet Compute Engine benutzerdefinierte Projekt- und/oder Instanzmetadaten, um SSH-Schlüssel zu konfigurieren und den SSH-Zugriff zu verwalten. 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 ausführt, bevor es SSH-Verbindungen zulässt, wenn Sie Verbindung zu VMs über die Google Cloud Console, mit dem gcloud-Tool oder mit Tools von Drittanbietern herstellen. Wenn Sie eine Verbindung zu VMs herstellen, ohne die Google Cloud Console oder das gcloud-Tool 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 dem öffentlichen Schlüssel und speichert den öffentlichen Schlüssel in der Datei ~/.ssh/authorized_keys des Nutzers 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 dem öffentlichen Schlüssel und speichert den öffentlichen Schlüssel in der Datei ~/.ssh/authorized_keys des Nutzers 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 Neuen SSH-Schlüssel erstellen.
  2. Der öffentliche Schlüssel und der Nutzername werden in die Metadaten hochgeladen. Die Anforderungen für das SSH-Schlüsselformat für Compute Engine finden Sie unter Öffentliche SSH-Schlüsseldateien formatieren.
  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 dem öffentlichen Schlüssel und speichert den öffentlichen Schlüssel in der Datei ~/.ssh/authorized_keys des Nutzers auf der VM.
  5. Compute Engine lässt die Verbindung zu.

Von OS Login verwaltete SSH-Verbindungen

Wenn OS Login aktiviert ist, lehnt Compute Engine Verbindungen von SSH-Schlüsseln ab, die in Metadaten gespeichert sind.

Klicken Sie auf die einzelnen Tabs, um mehr über die Konfigurationen zu erfahren, die Compute Engine ausführt, bevor es SSH-Verbindungen zulässt, wenn Sie Verbindung zu VMs über die Google Cloud Console, mit dem gcloud-Tool oder mit Tools von Drittanbietern herstellen. Wenn Sie eine Verbindung zu VMs herstellen, ohne die Google Cloud Console oder das gcloud-Tool 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 generierte 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 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öst Ihren angegebenen Nutzernamen in Ihrem OS Login-Konto in der VM mithilfe von NNS-Dienstmodulen auf.
  4. Compute Engine führt eine IAM-Autorisierung mithilfe von PAM-Konfigurationen durch, um sicherzustellen, dass Sie die erforderlichen Berechtigungen zum Herstellen einer Verbindung haben.
  5. Compute Engine ruft den SSH-Schlüssel von Ihrem Nutzerkonto ab und stellt ihn mithilfe des Befehls SSH authorized keys für SSH in der VM bereit.
  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 generierte Nutzername cloudysanfrancisco_gmail_com.

    • Der öffentliche SSH-Schlüssel wird in Ihrem Google-Konto gespeichert.
    • Der private 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. Compute Engine führt eine IAM-Autorisierung mithilfe von PAM-Konfigurationen durch, um sicherzustellen, dass Sie die erforderlichen Berechtigungen zum Herstellen einer Verbindung haben.
  5. Compute Engine ruft den SSH-Schlüssel von Ihrem Nutzerkonto ab und stellt ihn mithilfe des Befehls SSH authorized keys für SSH in der VM bereit.
  6. Compute Engine lässt die Verbindung zu.

Tools von Drittanbietern

  1. Sie erstellen ein SSH-Schlüsselpaar. Weitere Informationen finden Sie unter Neuen SSH-Schlüssel erstellen.
  2. Der öffentliche SSH-Schlüssel wird in Ihr OS Login-Profil hochgeladen. Weitere Informationen finden Sie unter SSH-Schlüssel zu Nutzerkonten hinzufügen.
    • 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. Compute Engine führt eine IAM-Autorisierung mithilfe von PAM-Konfigurationen durch, um sicherzustellen, dass Sie die erforderlichen Berechtigungen zum Herstellen einer Verbindung haben.
  7. Compute Engine ruft den SSH-Schlüssel von Ihrem Nutzerkonto ab und stellt ihn mithilfe des Befehls SSH authorized keys für SSH in der VM bereit.
  8. Compute Engine lässt die Verbindung zu.

Nächste Schritte