In diesem Dokument wird beschrieben, wie Sie mithilfe der in Ihrem Google-Konto registrierten physischen Sicherheitsschlüssel eine Verbindung zu VM-Instanzen herstellen, die OS Login verwenden.
Physische Sicherheitsschlüssel werden verwendet, um private SSH-Schlüsseldateien für die Verbindung zu VMs zu generieren. Wenn Sie über das SSH im Browser der Google Cloud Console oder die Google Cloud CLI über Sicherheitsschlüssel eine Verbindung zu VMs herstellen, ruft OS Login die private SSH-Schlüsseldatei ab, die mit Ihrem Sicherheitsschlüssel verknüpft ist, und konfiguriert die SSH-Schlüsseldatei. Wenn Sie eine Verbindung über Drittanbietertools herstellen, müssen Sie die SSH-Schlüsselinformationen mit der OS Login API abrufen und die SSH-Schlüsseldatei selbst konfigurieren.
Hinweise
- Fügen Sie einen Sicherheitsschlüssel zu Ihrem Google-Konto hinzu.
- Richten Sie OS Login ein.
-
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 wie folgt bei Compute Engine authentifizieren.
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.
- VMs, für die Sicherheitsschlüssel aktiviert sind, akzeptieren nur Verbindungen von SSH-Schlüsseln, die an die in Ihrem Google-Konto registrierten physischen Sicherheitsschlüssel angehängt sind.
Sowohl die VM als auch die Workstation, über die Sie eine Verbindung herstellen, müssen eine Version von OpenSSH 8.2 oder höher verwenden, die SSH-Typen für Sicherheitsschlüssel unterstützt. Die folgenden Compute Engine-VM-Betriebssysteme unterstützen Sicherheitsschlüssel:
- Debian 11 oder höher
- SUSE Linux Enterprise Server (SLES) 15 (oder höher)
- Ubuntu 20.04 LTS (oder höher)
- Container-Optimized OS 93 LTS (oder höher)
- Rocky Linux 9 (oder höher)
Führen Sie folgenden Befehl aus, um zu prüfen, ob Ihre Umgebung Sicherheitsschlüssel unterstützt:
ssh -Q key | grep ^sk-
Wenn der Befehl keine Ausgabe zurückgibt, unterstützt Ihre Umgebung Sicherheitsschlüssel nicht.
Öffnen Sie die Seite Metadaten.
Klicken Sie auf Bearbeiten.
Klicken Sie auf Zeile hinzufügen.
- Geben Sie im Feld Schlüssel
enable-oslogin
ein. - Geben Sie im Feld Wert
TRUE
ein.
- Geben Sie im Feld Schlüssel
Klicken Sie auf Zeile hinzufügen.
- Geben Sie im Feld Schlüssel
enable-oslogin-sk
ein. - Geben Sie im Feld Wert
TRUE
ein.
- Geben Sie im Feld Schlüssel
Klicken Sie auf Speichern.
Rufen Sie die Seite VM-Instanzen auf.
Klicken Sie auf den Namen der VM, für die Sie Sicherheitsschlüssel aktivieren möchten.
Klicken Sie auf Bearbeiten.
Klicken Sie im Abschnitt Benutzerdefinierte Metadaten auf Element hinzufügen.
- Geben Sie im Feld Schlüssel
enable-oslogin
ein. - Geben Sie im Feld Wert
TRUE
ein.
- Geben Sie im Feld Schlüssel
Klicken Sie auf Zeile hinzufügen.
- Geben Sie im Feld Schlüssel
enable-oslogin-sk
ein. - Geben Sie im Feld Wert
TRUE
ein.
- Geben Sie im Feld Schlüssel
Klicken Sie auf Speichern.
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Klicken Sie in der Liste der VMs in der Zeile der VM, zu der Sie eine Verbindung herstellen möchten, auf SSH.
Wenn Sie dazu aufgefordert werden, tippen Sie auf den Sicherheitsschlüssel.
Installieren Sie die Google-Clientbibliothek für Python, falls noch nicht geschehen. Führen Sie dazu den folgenden Befehl aus:
pip3 install google-api-python-client
Speichern Sie das folgende Python-Beispielskript, das die privaten Schlüssel abruft, die Ihren Sicherheitsschlüsseln zugeordnet sind, die privaten Schlüsseldateien konfiguriert und eine Verbindung zur VM herstellt.
Führen Sie das Script aus, um Ihre Schlüssel zu konfigurieren und optional eine Verbindung zur VM herzustellen.
python3 SCRIPT_NAME.py --user_key=USER_KEY --ip_address=IP_ADDRESS [--dryrun]
Dabei gilt:
SCRIPT_NAME
: der Name Ihres Konfigurationsskripts.USER_KEY
: die primäre E-Mail-Adresse.IP_ADDRESS
: die externe IP-Adresse der VM, zu der Sie eine Verbindung herstellen möchten.[--dryrun]
: (Optional) Fügen Sie das Flag--dryrun
hinzu, um den Verbindungsbefehl ohne Verbindung zur VM zu drucken. Wenn Sie dieses Flag nicht angeben, führt das Script den Verbindungsbefehl aus.
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
Beschränkungen
Sicherheitsschlüssel mit OS Login aktivieren
Sie können die Verwendung von Sicherheitsschlüsseln für alle VMs aktivieren, die OS Login in Ihrem Projekt verwenden, oder für einzelne VMs.
Sicherheitsschlüssel für alle VMs mit OS Login in einem Projekt aktivieren
Zum Aktivieren von Sicherheitsschlüsseln auf allen VMs, die OS Login in Ihrem Projekt verwenden, verwenden Sie die Google Cloud Console oder die gcloud CLI.
Console
Wenn Sie Sicherheitsschlüssel für alle OS Login-fähigen VMs aktivieren möchten, legen Sie in der Google Cloud Console in den Projekt-Metadaten
enable-oslogin
undenable-oslogin-sk
aufTRUE
fest:gcloud
Um Sicherheitsschlüssel für alle OS Login-fähigen VMs zu aktivieren, legen Sie mit dem
gcloud compute project-info add-metadata
-Befehl die Werteenable-oslogin=TRUE
undenable-oslogin-sk=TRUE
in den Projekt-Metadaten fest:gcloud compute project-info add-metadata \ --metadata enable-oslogin=TRUE,enable-oslogin-sk=TRUE
Sicherheitsschlüssel auf einer einzelnen VM mit OS Login aktivieren
Verwenden Sie die Google Cloud Console oder die gcloud CLI, um Sicherheitsschlüssel auf einer VM zu aktivieren, die OS Login verwendet.
Console
Verwenden Sie zum Aktivieren von Sicherheitsschlüsseln auf einer einzelnen VM die Google Cloud Console, um
enable-oslogin
undenable-oslogin-sk
in den Instanz-Metadaten aufTRUE
festzulegen:gcloud
Verwenden Sie den
gcloud compute instances add-metadata
-Befehl, um in den Instanz-Metadatenenable-oslogin=TRUE
undenable-oslogin-sk=TRUE
zu aktivieren und die Sicherheitsschlüssel auf einer einzelnen VM zu aktivieren:gcloud compute instances add-metadata VM_NAME \ --metadata enable-oslogin=TRUE,enable-oslogin-sk=TRUE
Ersetzen Sie
VM_NAME
durch den Namen Ihrer VM.Verbindung zu einer VM mit einem Sicherheitsschlüssel herstellen
Sie können über die Google Cloud Console, die gcloud CLI oder Tools von Drittanbietern eine Verbindung zu einer VM herstellen, die Sicherheitsschlüssel verwendet. Wenn Sie eine Verbindung zu VMs über die Google Cloud Console oder die gcloud CLI herstellen, konfiguriert Compute Engine den SSH-Schlüssel für Sie. Wenn Sie mit Drittanbietertools eine Verbindung zu VMs herstellen, müssen Sie die Konfiguration selbst vornehmen.
Console
Wenn Sie über das SSH im Browser-Tool der Google Cloud Console eine Verbindung zu VMs herstellen, ruft SSH im Browser die privaten Schlüssel ab, die Ihren Sicherheitsschlüsseln zugeordnet sind.
So stellen Sie eine Verbindung zu einer VM her, für die Sicherheitsschlüssel aktiviert sind:
gcloud
Wenn Sie über die gcloud CLI eine Verbindung zu VMs herstellen, ruft die gcloud CLI die privaten Schlüssel ab, die Ihren Sicherheitsschlüsseln zugeordnet sind, und konfiguriert die privaten Schlüsseldateien. Diese Konfiguration ist dauerhaft und gilt für alle VMs, die Sicherheitsschlüssel verwenden.
Verwenden Sie den Befehl
gcloud beta compute ssh
, um eine Verbindung zu einer VM herzustellen, für die Sicherheitsschlüssel aktiviert sind:gcloud beta compute ssh VM_NAME
Drittanbieter-Tools
Bevor Sie eine Verbindung zu einer VM herstellen, für die Sicherheitsschlüssel aktiviert sind, müssen Sie die mit Ihren Sicherheitsschlüsseln verknüpften privaten Schlüssel abrufen und die privaten Schlüsseldateien konfigurieren. In diesem Beispiel wird die Konfiguration mit der Python-Clientbibliothek durchgeführt.
Sie müssen diese Konfiguration nur ausführen, wenn Sie erstmals eine Verbindung zu einer VM herstellen. Die Konfiguration ist persistent und gilt für alle VMs in Ihrem Projekt, die Sicherheitsschlüssel verwenden.
Führen Sie auf einem Terminal auf Ihrer Workstation die folgenden Schritte aus:
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-11-20 (UTC).
-