web-dev-qa-db-ja.com

インベントリファイルにansible_ssh_common_argsを追加することは可能ですか?

ansible_ssh_common_argsのProxyCommandを使用してジャンプ/ SSH要塞ホストを使用したい。 ansibleサーバー:10.10.149.2ゲートウェイ/要塞ホスト:10.10.149.70接続するホスト:10.32.32.190したがって、私の目的は、10.10.149.2から10.10.149.70(sshトンネリング)を介して10.32.32.190に接続することです。

ansible --version ansible 2.1.0.0

私の在庫:

[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

直面している問題:

 fatal: [10.32.32.190]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the Host via ssh.", "unreachable": true}

したがって、インベントリファイルでのansible_ssh_common_argsのサポートには疑問があります。ssh.configファイルを使用したくありません。

ログ:

   [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  
6
samir

問題はここにあります:

ansible_ssh_common_args: '-o ProxyCommand = "ssh -W%h:%p -q [email protected]"'

「:」を「=」に置き換えて、次のように記述します。

ansible_ssh_common_args = '-o ProxyCommand = "ssh -W%h:%p -q [email protected]"'

他の人を助けるために、インベントリファイルは「.ini」ファイルであることに注意してください。 '.ini'ファイル(例:ansible.cfg)、変数の割り当てには '='を使用します。'yaml 'ファイルは': 'を使用します。

14
auciomar