VMs, die OS Login-Zertifikate unterstützen, unterstützen Verbindungen über SSH-Schlüssel und SSH-Zertifikate. SSH-Zertifikate sind SSH-Schlüssel, die von einem anderen vertrauenswürdigen Schlüssel signiert wurden, in diesem Fall von einer Zertifizierungsstelle, die von OS Login verwaltet wird. In diesem Dokument wird beschrieben, wie Sie OS Login-VMs so einrichten, dass für SSH-Verbindungen SSH-Zertifikate erforderlich sind und Verbindungen von nicht signierten SSH-Schlüsseln blockiert werden.
Wenn Sie OS Login so einrichten, dass für Verbindungen zu VMs SSH-Zertifikate erforderlich sind, dürfen nur SSH-Zertifikate, die von der Zertifizierungsstelle signiert wurden, eine Verbindung zu VMs herstellen. Verbindungen von nicht signierten SSH-Schlüsseln werden abgelehnt. SSH-Zertifikate haben eine Gültigkeitsdauer von fünf Minuten. Danach können sie nicht mehr verwendet werden, um eine Verbindung zu VMs herzustellen, und es muss ein neues Zertifikat generiert werden.
Wir empfehlen, OS Login so einzurichten, dass für SSH-Verbindungen SSH-Zertifikate erforderlich sind. Dies bietet eine zusätzliche Sicherheitsebene gegen böswillige Nutzer. SSH-Zertifikate haben eine kurze Gültigkeitsdauer und sind nur für eine bestimmte VM gültig. Wenn sie manipuliert werden, ist die Angriffsfläche also deutlich kleiner und das Zeitfenster für Angriffe deutlich kürzer als bei SSH-Schlüsseln mit langer Gültigkeitsdauer.
Wenn Ihre Organisation die Mitarbeiteridentitätsföderation verwendet, finden Sie unter Mitarbeiteridentitätsföderation mit OS Login verwenden Informationen zum Aktivieren von SSH-Zertifikaten für Ihre Organisation.
Hinweise
- OS Login einrichten und OS Login-IAM-Rollen zuweisen
-
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 so bei Compute Engine authentifizieren.
<x0A>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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Die VM, zu der Sie eine Verbindung herstellen, muss OpenSSH Version 7.4 oder höher haben, um SSH-Zertifikate zu verwenden.
Ö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-certificates
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 SSH-Zertifikate benötigen.
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-certificates
ein. - Geben Sie im Feld Wert
TRUE
ein.
- Geben Sie im Feld Schlüssel
Klicken Sie auf Speichern.
- In the Google Cloud console, go to the VM instances page.
-
In the list of virtual machine instances, click SSH in the row of
the instance that you want to connect to.
Erstellen Sie einen SSH-Schlüssel, falls Sie nicht bereits einen haben.
Signieren Sie Ihren öffentlichen SSH-Schlüssel mit der
projects.locations.signSshPublicKey
-Methode:POST https://oslogin.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION:signSshPublicKey { "ssh_public_key": "PUBLIC_KEY" "compute_instance": "COMPUTE_INSTANCE", "service_account": "SERVICE_ACCOUNT" }
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-ID des Projekts, das die VM enthält, zu der Sie eine Verbindung herstellen möchtenLOCATION
: die Region, in der sich die VM befindet, mit der Sie eine Verbindung herstellen möchtenPUBLIC_KEY
: der Inhalt der Datei Ihres öffentlichen SSH-SchlüsselsCOMPUTE_INSTANCE
: die Compute Engine-Instanz, zu der eine Verbindung hergestellt werden soll, im Formatprojects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID
.SERVICE_ACCOUNT
: das Dienstkonto, das an die Instanz angehängt ist. Löschen Sie dieses Feld, wenn der Instanz kein Dienstkonto angehängt ist.
Kopieren Sie das SSH-Zertifikat aus der Ausgabe von
projects.locations.signSshPublicKey
und speichern Sie den Inhalt in einer neuen Datei.Legen Sie die Berechtigungen für die SSH-Zertifikatsdatei fest, indem Sie folgenden Befehl ausführen:
sudo chmod 600 FILE_NAME
Ersetzen Sie
FILE_NAME
durch den Namen der Datei.Stellen Sie mit dem folgenden Befehl eine Verbindung zur VM her:
ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
Ersetzen Sie Folgendes:
PATH_TO_PRIVATE_KEY
: der Pfad zur privaten SSH-Schlüsseldatei.PATH_TO_SSH_CERTIFICATE
: der Pfad zu der Zertifikatsdatei Ihres SSH-Kontos.USERNAME
: Ihr OS Login-NutzernameEXTERNAL_IP
: die externe IP-Adresse der VM
- Auf Ihrer VM wird eine nicht unterstützte Version von OpenSSH verwendet. Um dieses Problem zu umgehen, deaktivieren Sie Zertifikate in den VM-Metadaten, indem Sie
enable-oslogin-certificates
in den Instanzmetadaten aufFALSE
setzen. - Mehr zu OS Login
- OS Login mit Bestätigung in zwei Schritten einrichten
- OS Login in einer Organisation verwalten
Beschränkungen
SSH-Zertifikate erforderlich
Sie können OS Login so einrichten, dass für alle SSH-Verbindungen zu OS Login-VMs in Ihrem Projekt oder für einzelne VMs SSH-Zertifikate erforderlich sind. Nachdem Sie OS Login so eingerichtet haben, dass SSH-Zertifikate erforderlich sind, werden für SSH-Verbindungen über die Google Cloud Konsole und die gcloud CLI standardmäßig SSH-Zertifikate verwendet. Wenn Sie OS Login nicht so einrichten möchten, dass Zertifikate erforderlich sind, aber Zertifikate verwenden möchten, um eine Verbindung zu VMs herzustellen, müssen Sie eine Verbindung mit Drittanbietertools herstellen, wie im Abschnitt Mit einem SSH-Zertifikat eine Verbindung zu einer VM herstellen beschrieben.
SSH-Zertifikate für alle VMs mit OS Login in einem Projekt erforderlich machen
Wenn Sie SSH-Zertifikate für alle Verbindungen zu allen VMs, die OS Login in Ihrem Projekt verwenden, erforderlich machen möchten, verwenden Sie die Google Cloud Console oder die gcloud CLI.
Console
Wenn Sie SSH-Zertifikate für alle Verbindungen zu OS Login-fähigen VMs benötigen, legen Sie in der Google Cloud Console in den Projektmetadaten
enable-oslogin
undenable-oslogin-certificates
aufTRUE
fest:gcloud
Wenn Sie SSH-Zertifikate für alle Verbindungen zu OS Login-fähigen VMs benötigen, legen Sie mit dem
gcloud compute project-info add-metadata
-Befehl die Werteenable-oslogin=TRUE
undenable-oslogin-certificates=TRUE
in den Projekt-Metadaten fest:gcloud compute project-info add-metadata \ --metadata enable-oslogin=TRUE,enable-oslogin-certificates=TRUE
SSH-Zertifikate auf einer einzelnen VM mit OS Login erforderlich machen
Wenn Sie Zertifikate für alle SSH-Verbindungen zu einer einzelnen VM, die OS Login verwendet, benötigen, verwenden Sie die Google Cloud Console oder die gcloud CLI.
Console
Wenn Sie SSH-Zertifikate für alle Verbindungen zu einer einzelnen VM benötigen, legen Sie in derGoogle Cloud Console
enable-oslogin
undenable-oslogin-certificates
in den Instanzmetadaten aufTRUE
fest:gcloud
Wenn Sie SSH-Zertifikate für alle Verbindungen zu einer einzelnen VM benötigen, verwenden Sie den
gcloud compute instances add-metadata
-Befehl, umenable-oslogin=TRUE
undenable-oslogin-certificates=TRUE
in den Instanzmetadaten festzulegen:gcloud compute instances add-metadata VM_NAME \ --metadata enable-oslogin=TRUE,enable-oslogin-certificates=TRUE
Ersetzen Sie
VM_NAME
durch den Namen Ihrer VM.Über ein SSH-Zertifikat eine Verbindung zu einer VM herstellen
Nachdem Sie OS Login so eingerichtet haben, dass SSH-Zertifikate erforderlich sind, werden für SSH-Verbindungen über die Google Cloud -Konsole und die gcloud CLI standardmäßig SSH-Zertifikate verwendet. Wenn Sie OS Login nicht so einrichten möchten, dass Zertifikate erforderlich sind, aber Zertifikate verwenden möchten, um eine Verbindung zu VMs herzustellen, müssen Sie Drittanbietertools verwenden.
Console
So stellen Sie über dieGoogle Cloud -Konsole mit SSH-in-Browser eine Verbindung zu VMs her:
gcloud
Verwenden Sie den Befehl
gcloud beta compute ssh
, um mit einem Zertifikat eine Verbindung zu einer VM herzustellen:gcloud beta compute ssh VM_NAME
Ersetzen Sie
VM_NAME
durch den Namen der VM, zu der Sie eine Verbindung herstellen möchten.Drittanbieter-Tools
So verwenden Sie ein SSH-Zertifikat mit einem Drittanbieter-SSH-Client:
Fehlerbehebung
Wenn Sie keine Verbindung zu VMs herstellen können, für die SSH-Zertifikate erforderlich sind, kann dies an folgenden Gründen liegen:
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: 2025-07-11 (UTC).
-