Erfordert sowohl LDAP-Authentifizierung *als auch* SSH-Authentifizierung

Erfordert sowohl LDAP-Authentifizierung *als auch* SSH-Authentifizierung

Ich möchte Folgendes aktivieren: Linux ec2-Instanzen in AWS, die eine LDAP-Authentifizierung von Benutzern durchführen, die derzeit kein Home-Verzeichnis auf der Box haben. Ich habe ein funktionierendes openLDAP in AWS für diese Aufgabe

Nach der LDAP-Authentifizierung:

  • Das Home-Verzeichnis des Benutzers wird erstellt
  • Der öffentliche SSH-Schlüssel des Benutzers wird aus seinem sshPublicKeyAttribut in LDAP abgerufen und er kann sich nur anmelden, wenn sein lokaler sshPrivateKey übereinstimmt

Ich weiß, wie man eine LDAP-Authentifizierung durchführtODERAbrufen des öffentlichen Schlüssels über einen ldapsearch, aber ich möchte beides tun.

Das Szenario, das ich zu verhindern versuche, ist der Fall, wenn ein Mitarbeiter das Unternehmen verlässt: Ich kann einfach sein Konto in openLDAP deaktivieren und selbst wenn sein öffentlicher Schlüssel auf den Rechnern vorhanden ist, kann er ihn nicht verwenden, weil auch die LDAP-Authentifizierung fehlschlägt.

Ich habe auf StackExchanges herumgesucht und glaube nicht, dass ich gefunden habe, wonach ich suche. Am nächsten bin ich gekommen mit

https://serverfault.com/questions/653792/ssh-key-authentication-using-ldap

https://serverfault.com/questions/579341/Kombination aus SSH-Schlüsselauth und Zwei-Faktor-Authentifizierung

Antwort1

Erstens sollten die autorisierten Schlüssel aus zwei Gründen nicht im Home-Verzeichnis des Benutzers gespeichert werden:

  1. Den Benutzern sollte nicht gestattet sein, selbst beliebige autorisierte Schlüssel hinzuzufügen.
  2. Wenn beim ersten Login das Home-Verzeichnis noch nicht existiert, sollte der autorisierte Schlüssel bereits vorhanden sein.

Sie sollten lieber einstellenAutorisierteSchlüsseldateiso zu lassensshdLesen Sie die autorisierten Schlüssel aus einem gesperrten Verzeichnis, in dem Sie die Schlüssel über ein Hilfssynchronisierungsskript platzieren:

AuthorizedKeysFile /etc/ssh/authorized_keys/%u

Eine Variante davon ist die VerwendungAutorisierterSchlüsselbefehlum einen dynamischen Abruf autorisierter Schlüssel auszulösen. Bedenken Sie, dass das Netzwerk möglicherweise ausgefallen oder ein System zum Zeitpunkt Ihrer Anmeldung nicht erreichbar ist.

Bei Ausscheiden des Mitarbeiters entziehen Sie ihm auch die berechtigten Schlüssel.

Wenn Sie dennoch die Verwendung der schlüssel- und passwortbasierten Authentifizierung erzwingen möchten, können Sie Folgendes festlegen:Authentifizierungsmethodenso was:

AuthenticationMethods publickey,password

Beachten Sie, dass als Trennzeichen ein Komma anstelle eines Leerzeichens verwendet wird.

(Wenn Sie sich nicht selbst um alle Details kümmern möchten, können Sie eine gebrauchsfertige Lösung einrichten wieKostenloseIPAmitSSDals NSS/PAM-Client oder meinÆ-DIRmitaehostdals NSS/PAM-Client verwendet.)

verwandte Informationen