これが機能しない理由を誰かが知っていますか?
コンパイルされたバージョンのsshpassを使用してCygwinでAnsibleを使用しています。 http://www.jeffgeerling.com/blog/running-ansible-within-windows の指示に従って設定しました。これが私の/ etc/ansible/hostsファイルです:
10.240.227.56 ansible_ssh_pass='password' ansible_user='domain\userid'
10.240.227.59 ansible_ssh_pass='password' ansible_user='domain\userid' ansible_become=true ansible_become_method=Sudo ansible_become_user=privilegeduser
2つの異なるホストと2つの異なる構成でこれを試し、問題を絞り込むことができるかどうかを確認しましたが、動作は同じです。ホストにpingを実行すると、次のようになります。
$ ansible all -vvv -m ping
No config file found; using defaults
<10.240.227.56> ESTABLISH SSH CONNECTION FOR USER: domain\userid
<10.240.227.59> ESTABLISH SSH CONNECTION FOR USER: domain\userid
<10.240.227.56> SSH: EXEC sshpass -d48 ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o 'User=domain\userid' -o ConnectTimeout=10 -o ControlPath=/home/userid/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.227.56 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1462472936.54-168377440229444 `" && echo "` echo $HOME/.ansible/tmp/ansible-tmp-1462472936.54-168377440229444 `" )'"'"''
<10.240.227.59> SSH: EXEC sshpass -d49 ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o 'User=domain\userid' -o ConnectTimeout=10 -o ControlPath=/home/userid/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.227.59 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo /tmp/ansible-tmp-1462472936.54-274121315105946 `" && echo "` echo /tmp/ansible-tmp-1462472936.54-274121315105946 `" )'"'"''
10.240.227.59 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the Host via ssh.",
"unreachable": true
}
10.240.227.56 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the Host via ssh.",
"unreachable": true
}
リモート側はRHEL 7ですVM Windows認証を使用しているため、「domain\userid」ユーザー名。
コマンドラインで同じクレデンシャルを使用して、古いssh
を使用して問題なく接続できます。 sshpass
を使用して問題なく接続することもできます。そして、ansible
を使用してホストにpingを実行しようとすると、リモート側の/var/log/secure
は、パスワード認証が成功したことを示します。
Python 2.7xが管理対象ホスト上にあることを確認しました。
ログインしようとしているユーザーdomain\userid
、非特権です。そのボックスに手動でログインすると、Sudo su - privilegeduser
私のdomain\userid
パスワードを入力すると、rootまたはだれでもSudoを実行できます。
完全なSSHデバッグを行うには、-vvvvv(5 'v's)を使用します。