Erzeugen einer angepassten und bootfähigen Linux System Rescue CD mit aktivierten ssh Deamon

Es gibt viele Situationen, in denen eine auf Linux basierende System
Rescue CD mit einer guten Auswahl an hilfreichen Tools sehr hilfreich sein
kann, z.B. um ein vorhandenes System zu reparieren oder neu zu
installieren, um etwas an der Partitionierung einer Festplatte zu ändern,
um defekte Dateisysteme zu reparieren oder um Server, die man aus der Ferne
administrieren oder neu aufsetzen möchte, von einer solche CD zu
starten.

Da auf Anhieb keine der üblichen System rescue CDs eine Anmeldung via ssh
mit Passwort als root zulässt, habe ich die recht bekannte System Rescue CD
als Grundlage verwendet, um eine solche CD zu erzeugen. Fertige Versionen der
angepassten System Rescue CD können hier heruntergeladen werden. Wird ein System von der
angepassten System Rescue CD gestartet, so ist eine Anmeldung via ssh mit
den folgenden Benutzerdaten möglich, nachdem man die IP Adresse des von der
CD gestarteten Systems ermittelt hat:

  • Benutzername: root
  • Passwort: geheim

Die folgende Anleitung beschreibt die Schritte, die für die Anpassung der
System Rescue CD nötig waren, falls z.B. eigene weitere Anpassungen an der
CD vorgenommen werden sollen.

Die System Rescue CD bootet standardmäßig mit gestarteten ssh-Daemon, es
ist allerdings kein Kennwort für den root-Benutzer gesetzt. Dies macht eine
Anmeldung von einem entfernten Rechner aus unmöglich. Es ist jedoch ein
Bootparameter vorhanden, der, wenn er denn gesetzt wurde, ein Kennwort für
den root Benutzer auf einen bekannten Wert festlegt. Es muss also die
Bootkonfiguration der System Rescue CD entsprechend angepasst werden, was
auf einem Linux System folgendermaßen durchgeführt werden kann:

  • Herunterladen des aktuellen System Rescue CD Images von https://www.system-rescue.org/Download/.
  • Mounten des ISO-files in ein Verzeichnis unterhalb von /mnt:
    mkdir /mnt/systemrescuecd
    mount systemrescue-8.03-amd64.iso /mnt/systemrescuecd/
    
  • Kopieren aller Dateien des gemounteten ISO-files in ein temporäres
    Verzeichnis, in dem später dann die Anpassungen vorgenommen werden:

    cp -a /mnt/systemrescuecd/ systemrescuecd-custom
    
  • Wechseln in das temporäre Verzeichnis:
    cd systemrescuecd-custom/
    
  • Anpassen der Bootloaderkonfiguration der CD und festlegen der
    Bootparameter, die beim Start der CD dass root-Kennwort setzen und
    gleichzeitig alle Firewallregeln stoppen. Bei gestarteten Firewallregeln
    ist kein Zugriff via ssh möglich, bei nicht gesetzten Kennwort klappt eine
    Anmeldung als root über das Netzwerk nicht.

    Öffnen der Datei sysresccd/boot/syslinux/sysresccd_sys.cfg mit einem
    Editor. In der Datei ist folgende zeile zu finden, ggf. mit einer anderen
    Versionsnummer, je nach heruntergeladener Version der System Rescue CD:

    APPEND archisobasedir=sysresccd archisolabel=RESCUE803
    

    Diese zeile wird folgendermaßen angepasst:

    APPEND archisobasedir=sysresccd archisolabel=RESCUE803 nofirewall rootpass=geheim
    

    Der Bootparameter nofirewall sorgt dafür, dass beim Start der CD die
    Firewallregeln entladen werden, der eintrag rootpass=geheim setzt
    das Kennwort für root automatisch auf den Wert geheim. Natürlich kann
    das root-Kennwort auf einen anderen und auch komplexeren Wert gesetzt
    werden, vorsichtig sollte man mit bestimmten Sonderzeichen sein und diese
    ggf. richtig quoten.

    Anschließend wird die Datei gespeichert und verlassen.

  • Nun kann die geänderte Konfiguration mit Hilfe des Tools
    genisoimage in ein neues ISO-File namens
    systemrescue-8.03-amd64-custom.iso geschrieben werden. Die Bedeutung der
    verschiedenen Parameter sind der Manpage zum Tool zu entnehmen:

    genisoimage -l -R -J -V "RESCUE803" -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o ../systemrescue-8.03-amd64-custom.iso ./
    
  • Die neue ISO-Datei liegt nun außerhalb des temporären
    Arbeitsverzeichnisses und kann verwendet werden.
  • Abschließend wird das temporäre Arbeitsverzeichnis gelöscht und die
    ganz zu Beginn der Arbeiten gemountete originale SystemRescueCD
    ausgehängt:

    cd ..
    rm -r systemrescuecd-custom
    umount /mnt/systemrescuecd
    

Viel Spaß mit der Anleitung und beim Bau eigener angepasster System
Rescue CDs!