GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ist ein zentraler Speicherort für authorisierte_Schlüssel eine gute Idee?

Lösung 1:

Alle Schlüsseldateien können im selben Verzeichnis zentralisiert und nicht in derselben Datei gemischt werden.

Richten Sie einfach den sshd_config ein Datei wie folgt:

AuthorizedKeysFile  /etc/ssh/authorized_keys/%u

Auf Ihrem Server:

  • WWW-Datenschlüssel werden in /etc/ssh/authorized_keys/www-data sein
  • Stammschlüssel werden in /etc/ssh/authorized_keys/root sein

Bezüglich der Zugriffsrechte werden diese Einstellungen von sshd übernommen:

/etc/ssh/authorized_keys gehört root:root und hat Modus 755. Schlüsseldateien gehören root:root und haben Modus 644.

Andere Modi können funktionieren, aber ich habe sie nicht getestet.

Lösung 2:

Im Allgemeinen würde ich nicht tun, was Sie vorschlagen. Es bricht mit gängigen Annahmen (wie ~/.ssh/authorized_keys für Ihre Benutzer arbeiten und Probleme einführt, die Sie bereits in Ihrer Frage erwähnt haben. Wenn Sie vor der Implementierung eklatante Probleme sehen, bedeutet dies, dass Ihre Lösung nicht ideal ist.

In Bezug auf die Sicherheit finde ich es auch SCHRECKLICH Idee, dass alle ein Dienstkonto teilen:Im Moment sind es nur Sie, und Sie wissen, dass Sie derjenige sind, der Änderungen vornimmt. In 5 Jahren, wenn Sie 5 Administratoren haben, werden Sie wissen wollen, wer was geändert hat, und Audit-Protokolle durchstöbern, um zu sehen, wer wann welchen Schlüssel verwendet hat, ist ein königlicher Schmerz.
Es ist besser, wenn sich die Leute als sie selbst anmelden und sudo verwenden oder etwas Ähnliches, um ihre Privilegien zu eskalieren und alles zu tun, was sie tun müssen.

Wenn Sie SSH-Schlüssel dennoch zentralisieren möchten, schlage ich vor, sich ein Bereitstellungssystem wie Puppet oder radmind anzusehen, um den authorized_keys zu verwalten/verteilen Dateien in den entsprechenden ~user/.ssh/ Verzeichnisse (oder hacken Sie eine selbst entwickelte Lösung, die sie per SCP an Ort und Stelle einfügt).
Wenn Sie auf mehrere Server expandieren, sollten Sie sich den LDAP Public Key-Patch für ältere Versionen von OpenSSH (oder den AuthorizedKeysCommand Direktive und ein entsprechendes Skript in einer neueren Version von OpenSSH), damit Sie Ihre Benutzer zentralisieren können und ihre Schlüssel nicht über Ihr gesamtes Netzwerk verteilen müssen, aber das ist wahrscheinlich ziemlich weit weg für Sie.


Linux
  1. Was ist eine gute Mnemonik für Shell Double Vs. Einzelzitate?

  2. Speicherort von .bashrc für Bash unter Ubuntu unter Windows in Windows 10

  3. Wo ist .bashrc für root?

  4. Einfaches Passwort für Root-Benutzer auf CentOS aktivieren

  5. Ist es eine gute Idee, Git für die Versionskontrolle der Konfigurationsdatei zu verwenden?

11 Nützliche Split-Befehlsbeispiele für Linux-Systeme

Generieren Sie SSH-Schlüssel für die passwortlose Anmeldung in Ubuntu

Kann Root einen Befehl als Nicht-Root ausführen?

IPTables-Modul ip_tables für root nicht gefunden

ulimit für root-Benutzer bestimmen

So richten Sie passwortloses SSH mit RSA-Schlüsseln ein