Schlüsselpaare sollten vom Benutzer generiert werden.
Der Benutzer behält die private Hälfte - Sie sollten sie niemals sehen. Wenn Sie den privaten Schlüssel einer Person in einem Formular haben, in dem Sie ihn lesen / verwenden können, machen Sie Sicherheitsfehler.
Die öffentliche Hälfte erhalten Sie (durch einen beliebigen Mechanismus: Webformular, E-Mail, Gib-es-mir-auf-eine-CD), um zentralisiert zu werden, wie Sie möchten. An einigen Stellen werden die öffentlichen Schlüssel in LDAP gespeichert. Andere verteilen authorized_keys
Dateien mithilfe ihres Bereitstellungssystems.
In meiner Umgebung geben Benutzer, die Shell-Zugriff benötigen, mir ihre öffentlichen Schlüssel. Diese Schlüssel werden unserem LDAP-System hinzugefügt und sshd
konsultieren die öffentlichen Schlüssel, die für jeden Benutzer aufgelistet sind, um sie mithilfe des LDAP-Patches für öffentliche Schlüssel zu authentifizieren .
Wenn jemand einen zusätzlichen Schlüssel hinzufügen oder einen vorhandenen Schlüssel widerrufen muss, teilt er dies einem Administrator mit, und wir kümmern uns darum. Wenn wir skalieren, werde ich schließlich ein System implementieren, mit dem Benutzer ihre eigenen öffentlichen Schlüssel drehen können.
Jeder unserer Standorte verfügt über ein Paar LDAP-Server, die mit der LDAP-Replikation mit unserem Master synchronisiert sind und die Daten an jedem Standort konsistent (und zugänglich) halten.
Alles, was ich beschrieben habe, kann mit Open-Source-Software durchgeführt werden. Es gibt auch kommerzielle Produkte, die dasselbe tun.
Sie müssen die verfügbaren Optionen genauer untersuchen und entscheiden, welche für Ihre Umgebung am besten geeignet sind. Wenn Sie weitere (spezifischere) Fragen haben, können wir wahrscheinlich hilfreicher sein.