Thor2605 schrieb:
Man kann ja leider nicht direkt den Public-Key blocken, wenn eine bestimmte Anzahl an falschen Passwörtern für den Private-Key eingegeben wurde.
Richtig, denn der sshd
bekommt von der Passworteingabe nichts mit, da diese den Private Key lokal entschlüsselt und dann erst an den SSH-Server schickt.
Thor2605 schrieb:
Daher stellt sich mir die Frage, ob es dann nicht besser ist per PAM den Benutzer für SSH einfach zu sperren und dem Private-Key gar kein Passwort mehr zu geben?
Wenn der Benutzer kein SSH mehr benutzen kann, was willst du überhaupt noch mit dem SSH-Private Key?
Wenn du Benutzer den Zugang via SSH verbieten willst, geht das übrigens einfacher mit AllowUsers
/DenyUsers
bzw. AllowGroups
/DenyGroups
in der sshd_config
.
Thor2605 schrieb:
Oder welche Vorteile bietet die AES-Verschlüsselung des Private-Keys gegenüber dem normalen Benutzer-Passwort von Linux?
Der Private Key ist wesentlich länger, als jedes sinnvoll einzusetzende Passwort, und erschwert dadurch Bruteforce-Angriffe auf den entsprechenden Zugang.
Zusätzlich hast du eine Art Zwei-Faktor-Authentifizierung: Du musst die Passphrase des Private Keys kennen und du musst im Besitz der Datei sein, die den Private Key enthält. Das setzt natürlich voraus, dass der Private Key überhaupt mit einer Passphrase geschützt wurde.
Thor2605 schrieb:
Vorteil vom "Linux"-Passwort wäre, dass ich das generell für alle Keys auf einen Schlag alle 4 Wochen ändern kann...
SSH-Schlüsseldateien kannst du ebenfalls mit einem Gültigkeitszeitraum versehen, siehe ssh-keygen(1)
, und die authorized_keys
Dateien kannst du mit einem simplen Skript oder einem Configuration Management wie Puppet verwalten.