Group hosts by SSH authentication method
This commit is contained in:
@@ -31,14 +31,44 @@ all:
|
|||||||
Gardez `password_target_user` identique a `ansible_user` lorsque le compte SSH
|
Gardez `password_target_user` identique a `ansible_user` lorsque le compte SSH
|
||||||
et le compte sudo sont les memes.
|
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 :
|
l'entree de l'hote :
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
test:
|
ssh_key_servers:
|
||||||
hosts:
|
vars:
|
||||||
test-server.example.com:
|
|
||||||
ansible_ssh_private_key_file: ~/.ssh/id_ed25519
|
ansible_ssh_private_key_file: ~/.ssh/id_ed25519
|
||||||
|
hosts:
|
||||||
|
special-server.example.com:
|
||||||
|
ansible_ssh_private_key_file: ~/.ssh/special_server_key
|
||||||
```
|
```
|
||||||
|
|
||||||
## Utilisation
|
## 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
|
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
|
Pour cibler seulement les serveurs avec cle SSH :
|
||||||
`--ask-pass` :
|
|
||||||
|
|
||||||
```bash
|
```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
|
## Verification
|
||||||
|
|||||||
+11
-1
@@ -8,10 +8,20 @@ all:
|
|||||||
test:
|
test:
|
||||||
hosts:
|
hosts:
|
||||||
test-server.example.com:
|
test-server.example.com:
|
||||||
ansible_ssh_private_key_file: ~/.ssh/id_ed25519
|
|
||||||
|
|
||||||
linux_servers:
|
linux_servers:
|
||||||
hosts:
|
hosts:
|
||||||
linux-server-01.example.com:
|
linux-server-01.example.com:
|
||||||
linux-server-02.example.com:
|
linux-server-02.example.com:
|
||||||
ansible_host: 192.0.2.10
|
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:
|
||||||
|
|||||||
Reference in New Issue
Block a user