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
- Sie können über die SSH-Schaltfläche in der Google Cloud Console eine Verbindung zu Ihrer VM herstellen.
- 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 Nutzernamecloudysanfrancisco
. - 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.
- Ihr Nutzername ist als Nutzername für Ihr Google-Konto festgelegt. Wenn die mit Ihrem Google-Konto verknüpfte E-Mail-Adresse beispielsweise
- Compute Engine lädt den öffentlichen SSH-Schlüssel und den Nutzernamen in Metadaten hoch.
- 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. - Compute Engine lässt die Verbindung zu.
gcloud
- Zum Herstellen einer Verbindung zu Ihrer VM verwenden Sie den Befehl
gcloud compute ssh
. - 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
aufTRUE
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.
- Ihr Nutzername wird als Nutzername auf Ihrem lokalen Computer festgelegt.
- Compute Engine lädt den öffentlichen SSH-Schlüssel und den Nutzernamen in Metadaten hoch.
- 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. - Compute Engine lässt die Verbindung zu.
Tools von Drittanbietern
- Sie erstellen ein SSH-Schlüsselpaar und einen Nutzernamen. Weitere Informationen finden Sie unter SSH-Schlüssel erstellen.
- 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.
- Sie stellen eine Verbindung zur VM her.
- 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. - 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
- Sie können über die SSH-Schaltfläche in der Google Cloud Console eine Verbindung zu Ihrer VM herstellen.
- 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:
Wenn die mit Ihrem Google-Konto verknüpfte E-Mail-Adresse beispielsweiseUSERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
lautet, ist Ihr generierter Nutzernamecloudysanfrancisco_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.
- 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:
- Compute Engine löst Ihren angegebenen Nutzernamen in Ihrem OS Login-Konto in der VM mithilfe von NNS-Dienstmodulen auf.
- Die Compute Engine führt eine IAM-Autorisierung mithilfe der
AuthorizedKeysCommand
durch, um sicherzustellen, dass Sie die erforderlichen Berechtigungen zum Herstellen einer Verbindung haben. - Die
AuthorizedKeysCommand
ruft den SSH-Schlüssel aus Ihrem Nutzerkonto ab und stellt ihn OpenSSH in der VM zur Verfügung. - Compute Engine lässt die Verbindung zu.
gcloud
- Zum Herstellen einer Verbindung zu Ihrer VM verwenden Sie den Befehl
gcloud compute ssh
. - 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:
Wenn die mit Ihrem Google-Konto verknüpfte E-Mail-Adresse beispielsweiseUSERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
lautet, ist Ihr generierter Nutzernamecloudysanfrancisco_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.
- 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:
- Compute Engine löst Ihren angegebenen Nutzernamen in Ihrem OS Login-Konto in der VM mithilfe von NNS-Dienstmodulen auf.
- Die Compute Engine führt eine IAM-Autorisierung mithilfe der
AuthorizedKeysCommand
durch, um sicherzustellen, dass Sie die erforderlichen Berechtigungen zum Herstellen einer Verbindung haben. - Die
AuthorizedKeysCommand
ruft den SSH-Schlüssel aus Ihrem Nutzerkonto ab und stellt ihn OpenSSH in der VM zur Verfügung. - Compute Engine lässt die Verbindung zu.
Tools von Drittanbietern
- Sie erstellen ein SSH-Schlüsselpaar. Weitere Informationen finden Sie unter SSH-Schlüssel erstellen.
- 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:
Wenn die mit Ihrem Google-Konto verknüpfte E-Mail-Adresse beispielsweiseUSERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
lautet, ist Ihr generierte Nutzernamecloudysanfrancisco_gmail_com
. - Sie können optional einen Nutzernamen mit der Google Workspace Admin Directory API festlegen.
- Sie stellen eine Verbindung zur VM her.
- Compute Engine löst Ihren angegebenen Nutzernamen in Ihrem OS Login-Konto in der VM mithilfe von NNS-Dienstmodulen auf.
- Die Compute Engine führt eine IAM-Autorisierung mithilfe der
AuthorizedKeysCommand
durch, um sicherzustellen, dass Sie die erforderlichen Berechtigungen zum Herstellen einer Verbindung haben. - Die
AuthorizedKeysCommand
ruft den SSH-Schlüssel aus Ihrem Nutzerkonto ab und stellt ihn OpenSSH in der VM zur Verfügung. - Compute Engine lässt die Verbindung zu.
Nächste Schritte
- Weitere Informationen zu den Vorteilen von OS Login
- OS Login einrichten, um den Zugriff auf Ihre VMs zu verwalten
- SSH-Schlüssel in Metadaten verwalten, wenn Sie OS Login nicht verwenden möchten
- Verbindung zu VMs herstellen
- Methoden und Tools zum Diagnostizieren und Auflösen fehlgeschlagener SSH-Verbindungen finden Sie unter Fehlerbehebung bei SSH.