Lokale Authentifizierung einrichten

Bevor Sie über Ihr System auf gehostete Repositories zugreifen oder damit interagieren können, müssen Sie die lokale Authentifizierung in Ihrer Umgebung einrichten.

Nachdem Sie die lokale Authentifizierung eingerichtet haben, können Sie auf gehostete Repositories zugreifen, für die Sie die entsprechenden Rollen und Berechtigungen haben. Sie können auch Git-Standardvorgänge wie git clone, git pull und git push ausführen. Eine lokale Authentifizierung ist nicht erforderlich, um Vorgänge in der Google Cloud Console, um beispielsweise den Inhalt eines Repositorys zu durchsuchen.

Cloud Source Repositories unterstützt die folgenden Authentifizierungstypen:

Mit SSH authentifizieren

Mit Cloud Source Repositories können Sie die SSH-Authentifizierung mit öffentlichem Schlüssel verwenden, um auf gehostete Repositories zuzugreifen. In diesem Szenario generieren Sie zuerst ein Schlüsselpaar auf dem lokalen System, von dem aus Sie auf das Repository zugreifen möchten. Dann registrieren Sie den öffentlichen Schlüssel bei Google Cloud. Wenn Sie bereits ein SSH-Schlüsselpaar auf Ihrem System haben, können Sie diese Schlüssel für die Authentifizierung wiederverwenden. Sie können pro Google-Konto bis zu 20 öffentliche Schlüssel registrieren.

Cloud Source Repositories unterstützt drei SSH-Schlüsseltypen:

  • RSA (nur für Schlüssel mit mehr als 2.048 Bit)
  • ECDSA
  • ED25519

Schlüsselpaar generieren

Das SSH-Schlüsselpaar besteht aus einem privaten Schlüssel, der sich auf Ihrem lokalen System befindet, und einem öffentlichen Schlüssel, den Sie bei Google Cloud registrieren.

Linux oder macOS

  1. Stellen Sie sicher, dass OpenSSH auf Ihrem lokalen System installiert ist.

  2. Geben Sie an einer Eingabeaufforderung den folgenden Befehl ein:

    ssh-keygen -t [KEY_TYPE] -C "[USER_EMAIL]"
    

    Dabei gilt:

    • [USER_EMAIL] ist Ihre E-Mail-Adresse.
    • [KEY_TYPE] ist einer der folgenden Werte:
      • rsa
      • ecdsa
      • ed25519

    Beispiel:

    ssh-keygen -t rsa -C "user@example.com"
    
    1. Geben Sie auf Aufforderung einen Dateinamen für die Datei mit dem öffentlichen Schlüssel ein. Um die Standardspeicherort für ~/.ssh – drücken Sie die Eingabetaste, geben Sie andernfalls einen Dateinamen an.

    2. Lassen Sie die Passphrase leer und drücken Sie die Eingabetaste.

  3. Schlüssel registrieren

Windows

  1. Stellen Sie sicher, dass PuTTY auf Ihrem lokalen System installiert ist.

  2. Starten Sie PuTTYGen über das Windows-Startmenü.

  3. Wählen Sie im angezeigten Fenster den Schlüsseltyp im Feld Parameters (Parameter) aus.

  4. Klicken Sie auf Generate (Erstellen).

    PuTTYGen zeigt den generierten öffentlichen Schlüsselstring an.

  5. Geben Sie eine Passphrase an, um das Schlüsselpaar zu schützen.

  6. Klicken Sie auf Save Public Key (Öffentlichen Schlüssel speichern) und Save Private Key (Privaten Schlüssel speichern), um das erzeugte Schlüsselpaar in Ihrem lokalen System zu speichern.

Vorhandene Schlüssel verwenden

Sie können auch ein vorhandenes Schlüsselpaar für die SSH-Authentifizierung verwenden.

Linux oder macOS

Öffentliche Schlüsseldateien befinden sich standardmäßig im Verzeichnis ~/.ssh.

Geben Sie an einer Eingabeaufforderung den folgenden Befehl ein:

ls -a ~/.ssh

Die Standarddateinamen sind:

  • id_rsa.pub
  • id_ecdsa.pub
  • id_ed25519.pub

Windows

  1. Starten Sie PuTTYGen über das Windows-Startmenü.

  2. Klicken Sie im angezeigten Fenster auf Load (Laden).

  3. Suchen Sie im lokalen Dateisystem nach Ihrer öffentlichen Schlüsseldatei und wählen Sie die Datei aus.

    PuTTYGen zeigt den öffentlichen Schlüsselstring an. Wenn Sie beim Speichern der Schlüsseldatei eine Passphrase angegeben haben, werden Sie von PuTTYGen zu deren Eingabe aufgefordert, bevor Sie den öffentlichen Schlüssel anzeigen können.

Öffentlichen Schlüssel registrieren

  1. Öffnen Sie in der Google Cloud Console die Seite SSH-Schlüssel verwalten.

    Cloud Source Repositories öffnen

  2. Klicken Sie auf SSH-Schlüssel registrieren.

    Das Dialogfeld SSH-Schlüssel registrieren wird geöffnet.

  3. Geben Sie im Feld Schlüsselname einen eindeutigen Namen für den Schlüssel ein.

  4. Kopieren Sie im Feld Schlüssel den Schlüsselstring aus Ihrer öffentlichen Schlüsseldatei.

  5. Klicken Sie auf Registrieren.

Nachdem Sie die SSH-Authentifizierung eingerichtet haben, können Sie jedes Repository klonen, für das Sie die erforderlichen Rollen und Berechtigungen haben, oder den Inhalt eines lokalen Repositories in ein leeres gehostetes Repository verschieben.

Über die gcloud CLI authentifizieren

Bei Cloud Source Repositories können Sie sich mit der gcloud CLI authentifizieren. In diesem Szenario führen Sie den Befehl gcloud init auf Ihrem System aus, um die lokale Authentifizierung einzurichten.

  1. Stellen Sie sicher, dass der gcloud-CLI auf Ihrem lokalen System installiert ist.

  2. Führen Sie über eine Eingabeaufforderung gcloud init aus:

    gcloud init
    
  3. Folgen Sie der Anleitung.

Nachdem Sie die Authentifizierung mit der gcloud CLI eingerichtet haben, können Sie mit den Git-Standardbefehlen mit dem gehosteten Repository in Cloud Source Repositories interagieren.

Mit manuell generierten Anmeldedaten authentifizieren

Sie können auch manuell erstellte Anmeldedaten für die Authentifizierung verwenden. Cloud Source Repositories bietet eine Reihe von Skripts, mit denen Sie manuell die Anmeldedaten generieren können, die Sie für den Zugriff auf gehostete Repositories benötigen.

  1. Rufen Sie die Seite Configure Git (Git konfigurieren) auf, um Ihre Anmeldedaten zu generieren.

    Zur Seite "Configure Git" (Git konfigurieren)

  2. Öffnen Sie ein Terminalfenster.

  3. Geben Sie den folgenden Befehl ein:

    git clone https://source.developers.google.com/p/PROJECT_ID/r/REPOSITORY_NAME
    

    Wobei:

    • PROJECT_ID ist der Name Ihres Projekts
    • REPOSITORY_NAME ist der Name Ihres Repositorys

Nachdem Sie die Authentifizierung mit manuell generierten Anmeldedaten eingerichtet haben, können Sie mit den Git-Standardbefehlen mit dem gehosteten Repository in Cloud Source Repositories interagieren.