Verbindung zu Linux-VMs als Root-Nutzer herstellen


In diesem Dokument wird beschrieben, wie Sie als Root-Nutzer eine Verbindung zu Linux-VM-Instanzen herstellen, wodurch Superuser-Berechtigungen für die VM aktiviert werden. Standardmäßig erlauben Compute Engine-VMs, die aus öffentlichen Images und gängigen Betriebssystemen erstellt wurden, die Root-Anmeldung mit einem Passwort über SSH nicht.

Statt eine Verbindung zu VMs als Root-Nutzer herzustellen, können Sie Befehle auch über sudo ausführen. Wir empfehlen diese Alternative vor der Aktivierung der Root-Anmeldung.

Unterstützte Betriebssysteme

Diese Verbindungsmethoden werden für alle öffentlichen Linux-Images unterstützt, die in Compute Engine verfügbar sind. Für Fedora CoreOS-Images müssen Sie den SSH-Zugriff einrichten, bevor Sie diese Methoden verwenden können.

Root-Anmeldung aktivieren

Standardmäßig ist bei Compute Engine-VMs der PermitRootLogin-Parameter in der SSH-Konfigurationsdatei /etc/ssh/sshd_config auf prohibit-password oder no festgelegt. Aktivieren Sie die Root-Anmeldung gemäß der Anleitung für Ihre VM:

VMs mit OS Login

So aktivieren Sie die Root-Anmeldung:

  1. Erstellen Sie einen SSH-Schlüssel. Kopieren Sie den öffentlichen SSH-Schlüssel für die spätere Verwendung.

  2. Stellen Sie wie gewohnt eine Verbindung zur VM her.

  3. Ändern Sie PermitRootLogin no in der /etc/ssh/sshd_config-Datei mit folgendem Befehl in PermitRootLogin prohibit-password:

    sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
    
  4. Erstellen Sie mit folgendem Befehl das /root/.ssh-Verzeichnis:

    sudo mkdir /root/.ssh
    
  5. Legen Sie die Berechtigungen für das .ssh-Verzeichnis mit folgendem Befehl fest:

    sudo chmod 700 /root/.ssh
    
  6. Erstellen Sie mit folgendem Befehl die authorized_keys-Datei:

    sudo touch /root/.ssh/authorized_keys
    
  7. Legen Sie die Berechtigungen für die authorized_keys-Datei mit folgendem Befehl fest:

    sudo chmod 600 /root/.ssh/authorized_keys
    
  8. Fügen Sie den öffentlichen SSH-Schlüssel in die /root/.ssh/authorized_keys-Datei ein.

  9. Starten Sie den sshd-Daemon neu. Dazu starten Sie die VM neu oder nutzen den Neustartbefehl für das Betriebssystem Ihrer VM. Warten Sie, bis die VM neu gestartet wurde, und stellen Sie dann eine Verbindung als Root-Nutzer her.

VMs ohne OS Login

So aktivieren Sie die Root-Anmeldung:

  1. Stellen Sie wie gewohnt eine Verbindung zur VM her.

  2. Ändern Sie PermitRootLogin no in der /etc/ssh/sshd_config-Datei mit folgendem Befehl in PermitRootLogin prohibit-password:

    sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
    
  3. Starten Sie den sshd-Daemon neu. Dazu starten Sie die VM neu oder nutzen den Neustartbefehl für das Betriebssystem Ihrer VM. Warten Sie, bis die VM neu gestartet wurde, und stellen Sie dann eine Verbindung als Root-Nutzer her.

Verbindung als Root-Nutzer herstellen

Nachdem Sie die Root-Anmeldung aktiviert haben, stellen Sie als Root-Nutzer eine Verbindung zur VM her. Wenn Sie eine Verbindung zu einer VM herstellen, für die OS Login aktiviert ist, müssen Sie anstelle der gcloud CLI Tools von Drittanbietern verwenden.

gcloud

Hinweis: Sie müssen Tools von Drittanbietern verwenden, um eine Verbindung als Root-Nutzer herzustellen, wenn für die VM, zu der Sie eine Verbindung herstellen, OS Login aktiviert ist.

Stellen Sie eine Verbindung zu VMs als Root-Nutzer her. Verwenden Sie dazu den gcloud compute ssh-Befehl, wobei root@ vor dem VM-Namen angegeben ist:

  1. Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

    Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

  2. Stellen Sie mit folgendem Befehl eine Verbindung zur VM her:

    gcloud compute ssh \
        --project=PROJECT_ID \
        --zone=ZONE \
        root@VM_NAME
    

    Dabei gilt:

    • PROJECT_ID: Die ID des Projekts, das die VM enthält
    • ZONE: Der Name der Zone, in der sich die VM befindet
    • VM_NAME: der Name der VM

Drittanbieter-Tools

Um als Root-Nutzer eine Verbindung zu VMs herzustellen folgen Sie der Anleitung für Ihre VM.

Fehlerbehebung

Methoden zur Diagnose und Behebung von fehlerhaften SSH-Verbindungen finden Sie unter Fehlerbehebung für SSH.

Nächste Schritte