Zentralisierte Update-Verwaltung mit apt-dater

Letzte Änderung: 25.06.2014

Mit apt-dater können mehrere Hosts über einen zentralen Rechner aktualisiert werden. Das Programm bietet dabei eine übersichtliche ncurses-Oberfläche an. Der Kontrollrechner loggt sich per SSH in die Remote-Maschine eine und kontrolliert dort apt-get bzw. aptitude. Damit das ohne Passwort funktioniert, werden SSH-Keys verwendet.

Einrichtung Kontroll-Maschine

  • Erst das Paket apt-dater installieren. In Ubuntu ists schon drin. Bei Debian Lenny braucht man die Backports. Oder man nimmt gleich die Quellen und baut sich alles selbst: http://www.ibh.de/apt-dater/
  • Dann rufe erstmal apt-dater unter dem User auf, mit dem später die Remote-Maschinen kontrolliert werden sollen. Sofort wieder beenden. Dann erzeugt apt-dater entsprechende Konfigurationsdateien unter ~/.config/apt-dater.
  • Erzeuge für Deinen User einen SSH-Key: ssh-keygen -t rsa. Keine Passphrase eingeben.
  • Jetzt fehlen nur noch die Eintragungen in der Datei ~/.config/apt-dater/hosts.conf. Dort können Gruppen angegeben und die einzelnen Hosts erzeugt werden. Bei Angabe eines Hosts sollte der Username vorne dran stehen, evtl. ist auch eine Port-Angabe notwendig. Beispielzeile: hosts=apt-dater@192.168.178.1:1234;apt-dater@192.168.178.2:5678;

Einrichtung Remote-Maschine

  • Erst muss das Paket apt-dater-host installiert werden
  • Dann einen User für den Login erzeugen: sudo adduser apt-dater, und dort auch ein Passwort vergeben
  • Falls in SSH die erlaubten Nutzer per AllowUsers-Direktive definiert sind, diese ergänzen und SSH neu starten
  • Jetzt muss der öffentliche Teil des SSH-Keys vom Nutzer der Kontroll-Maschine hier rein. Das heißt, auf der Kontroll-Maschine den Inhalt der Datei ~/.ssh/id_rsa.pub in die lokale Datei /home/apt-dater/.ssh/authorized_keys einfügen. Ggf. Verzeichnis und Datei erstellen.
  • Mit sudo visudo die sudo-Konfiguration bearbeiten und folgendes hinzufügen:
# apt-dater remote updates
apt-dater ALL=NOPASSWD: /usr/bin/apt-get, /usr/bin/aptitude
  • Nun kannst Du testen, ob ein Login von der Kontrol-Maschine auf die Remote-Maschine ohne Passwort klappt (ssh apt-dater@remote-machine). Es sollte auch ein sudo aptitude update ohne Eingabe des Passworts funktionieren! (sudo top z.B. muss aber nach dem Passwort fragen!)
  • Falls noch nicht geschehen, für diese Maschine die Datei ~/.config/apt-dater/hosts.conf auf der Kontroll-Maschine ergänzen.