2016-09-12 50 views
0

我的Ansible playbook使用代理连接到远程节点。Ansible给予ssh_exchange_identification错误

当Ansible游戏手册运行时;它在执行ssh步骤时给出以下错误。

[[email protected] ANSIBLE]# ansible-playbook fend_file.yaml -i env/target -vvvvv 

PLAY [LAB1] ******************************************************************* 

GATHERING FACTS *************************************************************** 
<10.169.99.222> ESTABLISH CONNECTION FOR USER: msdp 
<10.169.99.222> REMOTE_MODULE setup 
<10.169.99.222> EXEC sshpass -d9 ssh -C -tt -vvv -o ProxyCommand="nc -x 142.133.134.161:1088 %h %p" -o StrictHostKeyChecking=no -o GSSAPIAuthentication=no -o PubkeyAuthentication=no -o User=msdp -o ConnectTimeout=10 10.169.99.222 /bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1473708903.98-28407509853006 && echo $HOME/.ansible/tmp/ansible-tmp-1473708903.98-28407509853006' 
fatal: [10.169.99.222] => SSH Error: ssh_exchange_identification: Connection closed by remote host 
It is sometimes useful to re-run the command using -vvvv, which prints SSH debug output to help diagnose the issue. 

但是当我自己运行ssh命令时,我能够成功连接。

[[email protected] ANSIBLE]# ssh -C -tt -o ProxyCommand="nc -x 142.133.134.161:1088 %h %p" -o StrictHostKeyChecking=no -o GSSAPIAuthentication=no -o PubkeyAuthentication=no -o User=root -o ConnectTimeout=10 10.169.99.222 
[email protected]'s password: 
Last login: Mon Sep 12 12:28:19 2016 from 10.169.102.6 
[email protected] ~ # 

我是否需要清除任何有效的文件?

+0

检查你的ssh权限上10.169.99.222的用户 “MSDP” –

回答

0

当您手动运行SSH命令时,您指定的是root用户。您的Ansible手册正在使用您的本地用户msdp。尝试在您的库存文件中设置ansible_user变量。也许是这样的:

10.169.99.22 ansible_user=root