diff --git a/README.md b/README.md index 9c43c45..7e66795 100644 --- a/README.md +++ b/README.md @@ -31,14 +31,44 @@ all: Gardez `password_target_user` identique a `ansible_user` lorsque le compte SSH et le compte sudo sont les memes. -Les options propres a un serveur, par exemple une cle SSH dediee, se placent sur +L'inventaire separe les serveurs en deux familles : + +```yaml +linux_servers: + hosts: + linux-server-01.example.com: + linux-server-02.example.com: + ansible_host: 192.0.2.10 + +ssh_key_servers: + vars: + ansible_ssh_private_key_file: ~/.ssh/id_ed25519 + hosts: + test-server.example.com: + linux-server-01.example.com: + +ssh_password_servers: + hosts: + linux-server-02.example.com: +``` + +- `ssh_key_servers` regroupe les serveurs accessibles avec une cle SSH. Le + chemin de la cle privee est factorise dans les variables du groupe. +- `ssh_password_servers` regroupe les serveurs accessibles avec un mot de passe + SSH. Utilisez `--ask-pass` pour ces hotes. +- `linux_servers` reste le groupe de rollout principal. Un hote peut appartenir + a la fois a `linux_servers` et a une famille d'authentification. + +Si un serveur avec cle SSH utilise une cle differente, placez l'exception sur l'entree de l'hote : ```yaml -test: +ssh_key_servers: + vars: + ansible_ssh_private_key_file: ~/.ssh/id_ed25519 hosts: - test-server.example.com: - ansible_ssh_private_key_file: ~/.ssh/id_ed25519 + special-server.example.com: + ansible_ssh_private_key_file: ~/.ssh/special_server_key ``` ## Utilisation @@ -66,11 +96,16 @@ Puis ciblez le groupe complet lorsque le test est valide : ansible-playbook playbooks/change_password.yml --ask-become-pass --limit linux_servers ``` -Si certains hotes utilisent un mot de passe SSH au lieu d'une cle SSH, ajoutez -`--ask-pass` : +Pour cibler seulement les serveurs avec cle SSH : ```bash -ansible-playbook playbooks/change_password.yml --ask-pass --ask-become-pass --limit test +ansible-playbook playbooks/change_password.yml --ask-become-pass --limit ssh_key_servers +``` + +Pour cibler les serveurs avec mot de passe SSH, ajoutez `--ask-pass` : + +```bash +ansible-playbook playbooks/change_password.yml --ask-pass --ask-become-pass --limit ssh_password_servers ``` ## Verification diff --git a/inventories/hosts.yml b/inventories/hosts.yml index edac194..def02a8 100644 --- a/inventories/hosts.yml +++ b/inventories/hosts.yml @@ -8,10 +8,20 @@ all: test: hosts: test-server.example.com: - ansible_ssh_private_key_file: ~/.ssh/id_ed25519 linux_servers: hosts: linux-server-01.example.com: linux-server-02.example.com: ansible_host: 192.0.2.10 + + ssh_key_servers: + vars: + ansible_ssh_private_key_file: ~/.ssh/id_ed25519 + hosts: + test-server.example.com: + linux-server-01.example.com: + + ssh_password_servers: + hosts: + linux-server-02.example.com: