J'ai configuré 2 nouveaux utilisateurs avec leurs paires de clés respectives, .. leurs clés publiques ont été établies sur l'hôte distant. Le problème que j'ai est que j'ai passé les clés ssh sur le fichier hôte comme suit

[hôte distant:var] ansible_ssh_private_key_file=~/.ssh/user1.private_key ansible_ssh_private_key_file=~/.ssh/user2.private_key

Le problème est qu'un seul utilisateur peut établir une connexion ansible. Même les deux utilisateurs peuvent ssh dans l'hôte distant.

Je suis sûr qu'il existe un moyen de configurer les deux utilisateurs pour atteindre le même nœud dans le fichier hôte

answer

Lorsque les utilisateurs sont différents sur le nœud exécutant Ansible, vous pouvez supprimer le nom d'utilisateur du nom de base du fichier : ~/.ssh/remotehost.private_keyle chemin est transmis à ssh et ~est résolu dans leur répertoire personnel personnel.

Lorsque le même utilisateur local doit se connecter à plusieurs utilisateurs distants différents, il peut créer de "faux" hôtes dans l'inventaire avec différentes connexions vars . format ini :

[remotehost]
remotehostuser1 ansible_user=user1 ansible_ssh_private_key_file=~/.ssh/user1.private_key
remotehostuser2 ansible_user=user2 ansible_ssh_private_key_file=~/.ssh/user2.private_key


[remotehost:vars]
ansible_host=remotehost

Il existe d'autres moyens de le faire. En utilisant l'environnement var moyen de fournir un fichier_clé_privée, ${ANSIBLE_PRIVATE_KEY_FILE}ou en utilisant ssh_config.