任何人都知道为什么这不起作用?
我使用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
我试着用两个不同的主机和两个不同的configuration来看看我能否缩小这个问题,但是他们的performance是一致的。 以下是我尝试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 }
远程端是使用Windows身份validation的RHEL 7 VM,因此是“domain \ userid”用户名。
我可以连接正常使用相同的凭据在命令行使用普通的旧的ssh 。 我也可以使用sshpass连接。 当我尝试使用ansible ping主机时,远程端的/var/log/secure显示密码validation成功。
我已经确认Python 2.7x在托pipe主机上。
用户,我试图login, domain\userid ,是无特权的。 当我手动login到这个盒子时,我使用我的domain\userid密码sudo su - privilegeduser ,然后可以以root身份或者其他方式sudo其余的方式。