Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
tuto:fusiondirectory:cles_ssh [03/09/2013 08:40] dani |
tuto:fusiondirectory:cles_ssh [12/08/2014 16:32] (Version actuelle) dani |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
Fusion Directory permet de gérer simplement les clés publiques SSH pour chaque utilisateur. Vos différents serveurs UNIX peuvent ensuite être configuré pour récupérer de façon dynamique ces clés, au lieu de regarder dans le fichier ~/ | Fusion Directory permet de gérer simplement les clés publiques SSH pour chaque utilisateur. Vos différents serveurs UNIX peuvent ensuite être configuré pour récupérer de façon dynamique ces clés, au lieu de regarder dans le fichier ~/ | ||
- | L' | + | L' |
===== Plugins nécessaires ===== | ===== Plugins nécessaires ===== | ||
Ligne 76: | Ligne 76: | ||
[...] | [...] | ||
</ | </ | ||
+ | |||
+ | ===== Cache hors ligne ===== | ||
+ | Récupérer les clés SSH depuis l' | ||
+ | |||
+ | <code bash> | ||
+ | mkdir / | ||
+ | chow ldapsshkey: | ||
+ | chmod 700 / | ||
+ | cat <<' | ||
+ | #!/bin/bash | ||
+ | |||
+ | # Cache expirey | ||
+ | CACHE=300 | ||
+ | |||
+ | FILE=$(mktemp) | ||
+ | |||
+ | # Check if cache is fresh | ||
+ | if [ -s "/ | ||
+ | DIFF=$(($(date +%s)-$(date -r "/ | ||
+ | if [ $DIFF -lt $CACHE ]; then | ||
+ | cat "/ | ||
+ | exit 0 | ||
+ | fi | ||
+ | fi | ||
+ | |||
+ | # Retrieve SSH Keys from LDAP and store them in a temp file | ||
+ | / | ||
+ | # Did the connection to LDAP succeed ? If no, and we have previous keys in the cache, use it | ||
+ | if [ $? == 255 -a -s "/ | ||
+ | cat "/ | ||
+ | # If the connection succeed, print the key on stdout and update the cache | ||
+ | else | ||
+ | cat $FILE | tee "/ | ||
+ | # Just in case it was run as root | ||
+ | chown ldapsshkey: | ||
+ | chmod 600 "/ | ||
+ | fi | ||
+ | # Now, delete the temp file | ||
+ | rm -f $FILE | ||
+ | _EOF | ||
+ | chmod +x / | ||
+ | </ | ||
+ | |||
+ | Et voilà, on peut maintenant éditer / | ||
+ | |||
+ | <note important> |