est-il possible d'ajouter ansible_ssh_common_args dans le fichier d'inventaire de
je veux sauter/SSH Bastion de l'Hôte à l'aide de ProxyCommand de ansible_ssh_common_args.
ansible serveur:10.10.149.2
passerelle/Bastion de l'hôte:10.10.149.70
hôte pour se connecter:10.32.32.190
Donc, mon objectif est de connecter 10.32.32.190 de 10.10.149.2 creux 10.10.149.70 (ssh tunneling)
ansible --version
ansible 2.1.0.0
mon inventaire:
[local]
10.10.149.2
[Private]
10.32.32.190
[Private:vars]
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q [email protected]"'
pingtest.yml:
---
- hosts: Private
tasks:
- name: test connection
ping:
register: ping1
- debug: var=ping1
Confrontées à un problème:
fatal: [10.32.32.190]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh.", "unreachable": true}
Donc je doute ansible_ssh_common_args de soutien dans le fichier d'inventaire.je ne veux pas utiliser le ssh.fichier de configuration.
Journaux:
[root@mavosdsc ansible]# ansible-playbook -i inventory pingtest.yml -e "user=root" --ask-pass -vvvv
Using /etc/ansible/ansible.cfg as config file
SSH password:
Loaded callback default of type stdout, v2.0
PLAYBOOK: pingtest.yml *********************************************************
1 plays in pingtest.yml
PLAY [Private] *****************************************************************
TASK [setup] *******************************************************************
<10.32.32.190> ESTABLISH SSH CONNECTION FOR USER: None
<10.32.32.190> SSH: EXEC sshpass -d12 ssh -C -vvv -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.32.32.190 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1469788026.71-124524328003439 `" && echo ansible-tmp-1469788026.71-124524328003439="` echo $HOME/.ansible/tmp/ansible-tmp-1469788026.71-124524328003439 `" ) && sleep 0'"'"''
fatal: [10.32.32.190]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh.", "unreachable": true}
to retry, use: --limit @pingtest.retry
PLAY RECAP *********************************************************************
10.32.32.190 : ok=0 changed=0 unreachable=1 failed=0
- Veuillez vérifier
-vvvv
de sortie pour ssh spécifiques d'erreur.ansible_ssh_common_args
devrait fonctionner correctement dans l'inventaire. Je l'utilise dans ./group_vars/tous.yml sans problèmes. - TÂCHE [setup] ******************************************************************* <10.32.32.183> ÉTABLIR une CONNEXION SSH POUR l'UTILISATEUR: Aucun
- Il y a une faute de frappe dans
[Private.vars]
il devrait êtrePrivate:vars
- [Privé] 10.32.32.190 [Privé:vars] ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q [email protected]"' mon erreur et l'a changé .maintenant, la même chose. je doute que le <10.32.32.190> ÉTABLIR une CONNEXION SSH POUR l'UTILISATEUR: Aucun
- Vous avez aussi changé
=
à:
dans l'affectation – ce n'est pas correct, revenir à=
. - merci sa fonctionne bien maintenant.même tous les changements qu'il n'a pas de travail.donc créé un nouveau fichier d'inventaire avec tous ces changements, et enfin travaillé.
Vous devez vous connecter pour publier un commentaire.
Le problème est ici:
Remplacer ":" par "=" et de l'écrire comme ceci:
Pour aider les autres, gardez à l'esprit que votre fichier d'inventaire est une".ini fichier. '.ini fichiers de l'e.g ansible.cfg, utilisez '=' assigner des variables, comme "yaml' utilisation des fichiers ':'