- Informatique
- Arduino
- Projets
- Mécanique
SSH-LDAP-Fetcher est un outil permettant de récupérer des clés publiques SSH depuis un annuaire LDAP. Cet outil peut être utilisé pour ajouter la partie clé publique en plus de l'authentification LDAP classique par mot de passe.
Il existe un certain nombre d'outils/scripts pour cette tâche, mais l'idée de cet outil est d'apporter quelques petites options que je n'ai pas retrouvé dans d'autres telles que :
Cet outil est écrit en Python.
La syntaxe est relativement simple et utilise des paramètres en ligne de commande. L'outil a vocation à être utilisé avec OpenSSH (via le paramètre AuthorizedKeysCommand) mais vous pouvez à des fins de test le lancer en ligne de commande pour vérifier son fonctionnement (en mode debug par exemple).
usage: ssh-ldap-fetcher [-h] --ldap-uri LDAP_URI --ldap-base LDAP_BASE [--ldap-user-base LDAP_USER_BASE] --ldap-filter LDAP_FILTER [--ldap-scope {base,onelevel,subtree}] --ldap-attr LDAP_ATTR [--use-tls] [--debug] [--syslog] user positional arguments: user Username to fetch from optional arguments: -h, --help show this help message and exit --ldap-uri LDAP_URI LDAP server to fetch from --ldap-base LDAP_BASE LDAP base dn --ldap-user-base LDAP_USER_BASE User base (default: ou=users,<ldap-base>) --ldap-filter LDAP_FILTER LDAP search filter (%s replaced with user) --ldap-scope {base,onelevel,subtree} LDAP search scope (default: subtree) --ldap-attr LDAP_ATTR LDAP attribute containing pub key --use-tls Use TLS for connection --debug Show debugging messages --syslog Log messages to syslog
Dans l'exemple ci-dessous, une recherche dans 'ldap.tld' est faite avec le login de l'utilisateur connecté (%u) et la commande utilisera le syslog pour tracer les connexions.
[...] AuthorizedKeysCommand /usr/bin/ssh-ldap-fetcher --ldap-uri ldap://ldap.tld --ldap-base dc=tld --ldap-filter "(&(objectClass=person)(uid=%%s))" --ldap-attr sshPublicKey --use-tls --syslog %u AuthorizedKeysCommandUser nobody
Pour le moment ssh-ldap-fetcher est distribué sous la forme d'un paquet Debian.