cans.ssh-authorize
cans.ssh-authorize
Un rôle simple pour configurer l'autorisation SSH sur un compte utilisateur en masse.
Étant donné un répertoire (par défaut public_keys
) qui contient un ensemble de fichiers, chacun contenant une clé publique, ce rôle fusionne ces fichiers pour produire le fichier ~/.ssh/authorized_keys
sur le compte utilisateur distant.
Le fichier réel créé dépend de la valeur de plusieurs variables :
"{{sshauthz_homes_dir}}/{{sshauthz_user}}/{{sshauthz_ssh_config_dirname}}/{{sshauthz_authorized_keys_filename}}"
Cela permet une configuration assez particulière si besoin. Mais bien sûr, les valeurs par défaut de ces variables devraient convenir à la plupart des configurations.
Note : Comme ce rôle fonctionne de manière très directe, pour des raisons d'efficacité et pour éviter de vous verrouiller à l'extérieur de la machine, ce rôle propose un mécanisme pour vérifier que votre clé existe dans le répertoire source.
Exigences
Ce rôle n'a pas d'exigences particulières.
Variables du rôle
Defaults
- `sshauthz_homes_dir: répertoire de base pour les comptes utilisateurs sur l'hôte distant (par défaut : "/home")
sshauthz_user
: le compte distant pour lequel configurer les autorisations (par défaut : "{{ansible_user_id}}")sshauthz_ssh_config_dirname
: (par défaut : ".ssh")sshauthz_authorized_keys_filename
: Nom du fichier d'autorisation sur l'hôte distant (par défaut : "authorized_keys")sshauthz_keys_directory
: répertoire où trouver les clés à autoriser sur le compte distant (par défaut : "{{ playbook_dir + '/files/public_keys/default' }}")
Dépendances
Ce rôle n'a pas de dépendances.
Exemple de playbook
- hosts: etl, proxy
roles:
- { role: ssh-access, sshauthz_user: remus }
- { role: ssh-access, sshauthz_user: romolus, sshauthz_keys_directory: '~/public_keys' }
Licence
GPLv2
Informations sur l'auteur
Copyright © 2017, Nicolas CANIART.
ansible-galaxy install cans.ssh-authorize