Installation

Benutzers von Debians Sid-Zweig [6] haben es einfach, da das Projekt fertige Pakete bereitstellt. Dank der Verwandtschaft lässt sich das Paket auch problemlos unter Ubuntu 8.10 nutzen. Monkeysphere auf anderen Distributionen zu nutzen, ist aber auch kein großes Problem, so lange man die vorhandenen Stolpersteine zu meistern weiß. Vorausgesetzt werden GnuTLS, OpenSSH und GnuPG, was meist Teil der Grundinstallation ist. Unter Umständen müssen die GnuTLS-Header nachinstalliert werden, ohne die die in C geschriebenen Teile der Software nicht kompiliert werden können. Leider schweigt sich die Dokumentation darüber aus, dass bei der Installation aus dem Tarball heraus der zugrunde liegende Systemuse sowie einige benötigte Verzeichnisse fehlen. Die Struktur sollte dabei wie in Listing 1 aussehen.

Listing 1

Wichtige Verzeichnisse und Dateien

drwxr-xr-x 2 root         root         4096 2008-12-12 16:44 authorized_keys
drwx------ 2 monkeysphere monkeysphere 4096 2009-02-15 15:32 gnupg-authentication
drwxr-x--- 2 root         monkeysphere 4096 2009-02-15 15:30 gnupg-host
-rw------- 1 root         root         1679 2009-02-15 11:32 ssh_host_rsa_key
-rw-r--r-- 1 root         root          381 2009-02-15 11:32 ssh_host_rsa_key.pub
-rw-r--r-- 1 root         root          938 2009-02-15 11:32 ssh_host_rsa_key.pub.gpg
drwxr-xr-x 2 root         root         4096 2009-02-15 15:32 tmp

Server

Monkeysphere lässt sich auf zwei Arten nutzen: Entweder überlässt man der Software ausschließlich das Management der Host-Schlüssel, oder zusätzlich noch die Authentisierung der Benutzer anhand ihrer öffentlichen GPG-Schlüssel.

In beiden Fällen ist zunächst einmal ein passender Host Key zu erzeugen: »monkeysphere-server gen-key« , der im Anschluss per »monkeysphere-server publish-key« auf einen öffentlichen Keyserver übertragen wird. Glücklicherweise haben die Entwickler auch an solche gedacht, die an dieser Stelle eine eigene Infrastruktur betreiben. Über die beiden Konfigurationsdateien »/etc/monkeysphere/monkeysphere.conf« und »/etc/monkeysphere/monkeysphere-server.conf« lässt sich festlegen, welcher Keyserver jeweils genutzt wird.

Der soeben erzeugte Schlüssel kann der Admin in seinen Schlüsselbund aufnehmen, auf den passenden Fingerprint prüfen und unterschreiben. Zu guter Letzt sollte er ihn in signierter Form wieder auf den Keyserver laden (Listing 2).

Listing 2

Signieren des Host-Schlüssels

gpg -search '=ssh://monkey1.ney.home'
monkeysphere-server show-key
gpg --fingerprint A969BD32
gpg --sign-key A969BD32
gpg --send-key A969BD32

Soll Monkeysphere ausschließlich die Kontrolle der Host-Schlüssel übernehmen, muss der Admin die hierfür zuständige Option innerhalb der »sshd_config« nur noch passend umleiten: »HostKey /var/lib/monkeysphere/ssh_host_rsa_key« . Um Fehlern vorzubeugen, sollte er der Eintrag für den bislang eingetragenen DSA-Schlüssel hier auskommentieren.

Möchte er auch noch seine Benutzer über den neuen Weg authentisieren, muss er zudem auch noch den Pfad zu den »authorized_keys« ändern: »AuthorizedKeysFile /var/lib/monkeysphere/authorized_keys/%u« . In beiden Fällen ist der SSH-Daemon neu zu starten, damit die eben getätigten Änderungen wirksam werden: »/etc/init.d/ssh restart« .

Zukünftig angelegte Systemuser können den öffentlichen Teil ihres SSH-Schlüssels weiterhin wie gewohnt in der »~/.ssh/config« ablegen, dürfen sich allein damit aber immer noch nicht passwortlos anmelden, da der SSH-Daemon die Schlüssel jetzt an einer anderen, für normale Nutzer nicht mehr zugänglicher Stelle erwartet. Erst ein durch den Administrator aufgerufenes »monkeysphere update-users« würde die Publice Keys aller User des Systems automatisch an den passenden Ort ablegen. Durch die Eingabe eines Benutzernamens nach dem Kommando wird nur dessen Schlüssel umkopiert.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2021