SSH-Schlüssel erstellen


In diesem Dokument wird beschrieben, wie Sie ein SSH-Schlüsselpaar für Compute Engine-VM-Instanzen (VM) erstellen.

Hinweise

  • 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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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.

SSH-Schlüsselpaar erstellen

Wenn Sie eine Verbindung zu VMs über die Google Cloud Console oder die Google Cloud CLI herstellen, erstellt Compute Engine SSH-Schlüssel in Ihrem Namen. Weitere Informationen dazu, wie Compute Engine Schlüssel konfiguriert und speichert, finden Sie unter SSH-Verbindungen.

Wenn Sie mit Drittanbietertools oder OpenSSH eine Verbindung zu VMs herstellen, müssen Sie der VM einen Schlüssel hinzufügen, bevor Sie eine Verbindung herstellen können. Wenn Sie keinen SSH-Schlüssel haben, müssen Sie einen erstellen. VMs akzeptieren die Schlüsselformate, die in der Datei sshd_config aufgeführt sind.

Linux und macOS

Verwenden Sie auf Linux- und macOS-Workstations das Dienstprogramm ssh-keygen, um ein neues SSH-Schlüsselpaar zu erstellen. Im folgenden Beispiel wird ein RSA-Schlüsselpaar erstellt.

Öffnen Sie ein Terminal und erstellen Sie mit dem Befehl ssh-keygen mit dem Flag -C ein neues SSH-Schlüsselpaar.

ssh-keygen -t rsa -f ~/.ssh/KEY_FILENAME -C USERNAME -b 2048

Dabei gilt:

  • KEY_FILENAME: Name der SSH-Schlüsseldatei.

    Der Dateiname my-ssh-key erzeugt beispielsweise die private Schlüsseldatei my-ssh-key und die öffentliche Schlüsseldatei my-ssh-key.pub.

  • USERNAME: Ihr Nutzername auf der VM. Beispiel: cloudysanfrancisco oder cloudysanfrancisco_gmail_com.

    Bei Linux-VMs kann USERNAME nicht root sein, es sei denn, Sie konfigurieren Ihre VM so, dass eine Root-Anmeldung zugelassen wird. Weitere Informationen finden Sie unter Verbindung zu VMs als Root-Nutzer herstellen.

    Bei Windows-VMs, die Active Directory (AD) verwenden, muss dem Nutzernamen die AD-Domain im Format DOMAIN\ vorangestellt werden. Beispiel: Der Nutzer cloudysanfrancisco innerhalb des AD ad.example.com hat den USERNAME example\cloudysanfrancisco.

ssh-keygen speichert Ihre private Schlüsseldatei in ~/.ssh/KEY_FILENAME und Ihre öffentliche Schlüsseldatei in ~/.ssh/KEY_FILENAME.pub.

Ein öffentlicher Schlüssel für den Nutzer cloudysanfrancisco sieht in etwa so aus:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 10 oder höher

Verwenden Sie auf Workstations mit Windows Version 10 oder höher das Dienstprogramm ssh-keygen, um ein neues SSH-Schlüsselpaar zu erstellen. Im folgenden Beispiel wird ein RSA-Schlüsselpaar erstellt.

Öffnen Sie die Eingabeaufforderung und erstellen Sie mit dem Befehl ssh-keygen mit dem Flag -C ein neues SSH-Schlüsselpaar.

ssh-keygen -t rsa -f C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME -C USERNAME -b 2048

Dabei gilt:

  • WINDOWS_USER: Ihr Nutzername auf dem Windows-Computer.

  • KEY_FILENAME: Name der SSH-Schlüsseldatei.

    Der Dateiname my-ssh-key erzeugt beispielsweise die private Schlüsseldatei my-ssh-key und die öffentliche Schlüsseldatei my-ssh-key.pub.

  • USERNAME: Ihr Nutzername auf der VM. Beispiel: cloudysanfrancisco oder cloudysanfrancisco_gmail_com.

    Bei Linux-VMs kann USERNAME nicht root sein, es sei denn, Sie konfigurieren Ihre VM so, dass eine Root-Anmeldung zugelassen wird. Weitere Informationen finden Sie unter Verbindung zu VMs als Root-Nutzer herstellen.

    Bei Windows-VMs, die Active Directory (AD) verwenden, muss dem Nutzernamen die AD-Domain im Format DOMAIN\ vorangestellt werden. Beispiel: Der Nutzer cloudysanfrancisco innerhalb des AD ad.example.com hat den USERNAME example\cloudysanfrancisco.

ssh-keygen speichert Ihre private Schlüsseldatei in C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME und Ihre öffentliche Schlüsseldatei in C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME.pub.

Ein öffentlicher Schlüssel für den Nutzer cloudysanfrancisco sieht in etwa so aus:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 8 oder früher

Verwenden Sie auf Workstations mit Windows Version 8 oder früher das PuTTYgen-Tool, um ein neues SSH-Schlüsselpaar zu erstellen. Im folgenden Beispiel wird ein RSA-Schlüsselpaar erstellt.

  1. Laden Sie puttygen.exe herunter, falls noch nicht geschehen.

  2. Öffnen Sie PuTTYgen.

  3. Geben Sie unter Parameters Folgendes an:

    • Type of key to generate: RSA ist der Typ des zu generierenden Schlüssels.
    • Number of bits in a generated key: 2048 oder mehr ist die Anzahl der Bits in einem generierten Schlüssel.
  4. Klicken Sie auf Generate und folgen Sie der Anleitung auf dem Bildschirm.

    Das Tool zeigt den Wert des öffentlichen Schlüssels an.

  5. Ersetzen Sie im Abschnitt Key comment den vorab ausgefüllten Text durch Ihren Nutzernamen. Beispiel: cloudysanfrancisco oder cloudysanfrancisco_gmail_com.

    Bei Linux-VMs kann der Key comment nicht root sein, es sei denn, Sie konfigurieren Ihre VM so, dass eine Root-Anmeldung zugelassen wird. Weitere Informationen finden Sie unter Verbindung zu VMs als Root-Nutzer herstellen.

    Bei Windows-VMs, die Active Directory (AD) verwenden, muss dem Key comment die AD-Domain im Format DOMAIN\ vorangestellt werden. Beispiel: Der Nutzer cloudysanfrancisco innerhalb des AD ad.example.com hat den Key comment example\cloudysanfrancisco.

  6. Optional: Geben Sie eine Key passphrase ein, um Ihren Schlüssel mit einem Passwort zu schützen.

  7. Klicken Sie auf Save private key, um einen Speicherort für den privaten Schlüssel auszuwählen.

    PuTTYgen schreibt den privaten Schlüssel in eine Datei mit der Erweiterung .ppk.

  8. Klicken Sie auf Save public key, um einen Speicherort für Ihren öffentlichen Schlüssel auszuwählen. Lassen Sie das PuTTYgen-Fenster geöffnet.

  9. Kopieren Sie den Text aus dem Feld Public key for pasting into OpenSSH authorized_keys file.

  10. Öffnen Sie die Datei mit dem öffentlichen Schlüssel. Der öffentliche Schlüssel hat ein Format wie das folgende:

    ---- BEGIN SSH2 PUBLIC KEY ----
    Comment: "USERNAME"
    KEY_VALUE
    ---- END SSH2 PUBLIC KEY ----
    
  11. Ersetzen Sie den gesamten Inhalt der öffentlichen Schlüsseldatei durch den Wert, den Sie aus dem Feld Public key for pasting into OpenSSH authorized_keys file kopiert haben, damit die öffentliche Schlüsseldatei das folgende Format hat:

    KEY_VALUE USERNAME
    

Ein öffentlicher Schlüssel für den Nutzer cloudysanfrancisco sieht in etwa so aus:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Nächste Schritte