2016-07-04 81 views
0

情況是這樣的:從目標機器B上的機器A運行下面的shell代碼,併成功完成。從目標機器C上的機器A運行下面的shell代碼,它使我「成爲密碼缺失」。我可以使用憑據登錄到計算機A和B,而不會提示您輸入sudo密碼或任何內容。Ansible在一臺機器上「失去了密碼」但不是另一臺機器

我進入Ansible.cfg並取消註釋ask_sudo_pass並導致代碼提示我輸入sudo密碼請求。但是,我想爲幾十臺機器實現自動化,每次使用這個時我都無法輸入sudo密碼。我目前正在爲這些機器設置SSH密鑰,但這裏出現延遲,所以我需要一種在短期內實現自動化的方法。有什麼建議嗎?

這是我使用的shell命令:

export ANSIBLE_HOST_KEY_CHECKING=False sshpass -p ${SSH_PASSWORD} ansible-playbook -i hosts site.yml -u ${SSH_USERNAME} --extra-vars="ssh_user=${SSH_USERNAME}"

回答

0

我通常

passwd --delete username 

刪除目標用戶的密碼,我靠我id_rsa只連接,當然我的「用戶名」在目標上是輪組的一部分。

您也可以嘗試編輯sudoers文件,並添加像這樣

your_username ALL=(ALL)  NOPASSWD: ALL 

希望這有助於

相關問題