Als Root-Nutzer eine Verbindung zu Linux-VMs herstellen


In diesem Dokument wird beschrieben, wie Sie als Root-Nutzer eine Verbindung zu Linux-VM-Instanzen herstellen, wodurch Superuser-Berechtigungen auf der 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. Folgen Sie dazu 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 eine Verbindung als Root-Nutzer zur VM her. Wenn Sie eine Verbindung zu einer VM herstellen, für die OS Login aktiviert ist, müssen Sie Tools von Drittanbietern anstelle der gcloud CLI verwenden.

gcloud

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

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. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  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