2017-03-03 60 views
0

這是我的inventory.ini文件:當我嘗試用root用戶通過ssh Ansible卡,獲取與普通用戶拒絕

[workers] 
host_alias ansible_ssh_host=123.123.123.123 
[workers:vars] 
ansible_ssh_user=root 
ansible_ssh_port=22 
ansible_ssh_private_key_file=my_folder/id_rsa 
ansible_ssh_pass=password 

當我做ansible all -i inventory.ini -m ping,我什麼也沒有,沒有錯誤,屏幕掛起。當我更改用戶somehing以外的根,我得到許可被拒絕:

host_alias UNREACHABLE! => { 
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey).\r\n", 
    "unreachable": true 
} 

但是,如果我做的ssh -i文件[email protected]我得到提示輸入私鑰密碼。如果我做相同的,但與非root用戶,我得到:

Permission denied (publickey). 

UPDATEANSIBLE_DEBUG=1送給我的,作爲最後一個命令永遠掛之前:

_low_level_execute_command(): executing: /bin/sh -c '(umask 77 && mkdir -p "` echo ~/.ansible/tmp/ansible-tmp-1488620620.62-50272535751653 `" && echo ansible-tmp-1488620620.62-50272535751653="` echo ~/.ansible/tmp/ansible-tmp-1488620620.62-50272535751653 `") && sleep 0' 
+0

用'ANSIBLE_DEBUG = 1'試試看看發生了什麼...... –

+0

@KonstantinSuvorov做到了,你能看到更新嗎? –

回答

0

原來,ansible_ssh_pass=password是特定於密碼連接,不能用作私鑰的密碼。拿出來解決了這個問題,但我必須手動輸入

相關問題