我想將Ansible作爲另一個Python軟件的一部分使用。在那個軟件裏我有一個用戶名和密碼的主機列表。如何在命令中傳遞用戶/密碼
有沒有辦法將SSH連接的用戶/密碼傳遞給Ansible ad-hoc命令,或者以加密方式將其寫入任何文件?
還是我明白這一切都是錯誤的,唯一的方法是使用SSH認證?
我想將Ansible作爲另一個Python軟件的一部分使用。在那個軟件裏我有一個用戶名和密碼的主機列表。如何在命令中傳遞用戶/密碼
有沒有辦法將SSH連接的用戶/密碼傳遞給Ansible ad-hoc命令,或者以加密方式將其寫入任何文件?
還是我明白這一切都是錯誤的,唯一的方法是使用SSH認證?
當與遠程計算機通話時,Ansible在默認情況下假定您使用SSH密鑰爲 。 SSH密鑰是鼓勵的,但密碼認證 也可以在需要時通過提供選項--ask-pass來使用。如果 使用sudo功能,並且sudo需要密碼,則還會提供 --ask-become-pass(以前已棄用的--ask-sudo-pass)。
從未使用該功能,但docs說你可以。
可能您需要閱讀[this](http ://docs.ansible.com/ansible/playbooks_intro.html#hosts-and-users)。 –
這個廣告作品。您也可以將它們存儲在清單文件中 – smiller171
實際上,清單是一個更好的選項,但不太安全,因此您可以將這些參數添加到腳本中(可以在其中進行解密)。 [here](http://docs.ansible.com/ansible/intro_inventory.html#non-ssh-connection-types)是如何保存庫存中的用戶/傳遞:'ansible_user','ansible_ssh_pass' –
你不想在計算機上存儲密碼。這是非常糟糕的安全措施。 :-)而是使用SSH密鑰進行身份驗證。 [SSH文檔](http://www.openssh.com/manual.html)包含您需要的所有內容,特別是[ssh-keygen](http://man.openbsd.org/ssh-keygen)。創建您的密鑰,然後將公共部分(即'〜/ .ssh/id_ed25519.pub')添加到每個目標主機上的'〜/ .ssh/authorized_keys'文件中。 – ghoti
您可以使用保險庫存儲加密的數據(AES-256),但我不確定如果不是通過輸入密碼,我不確定您是否可以傳遞密碼 –