2016-05-03 11 views
0

他のPythonソフトウェアの一部としてAnsibleを使用したいと思います。そのソフトウェアで私は自分のユーザー/パスワードでホストリストを持っています。ユーザー/パスワードを安全なコマンドで渡す方法

SSH接続のユーザ/パスをAnabilitiesアドホックコマンドに渡す方法や、暗号化された方法でファイルに書き込む方法はありますか?

または私はそれがすべて間違っていることを理解していますか?それを行う唯一の方法はSSH認証ですか?

+1

パスワードをコンピュータに保存したくない場合。それは恐ろしいセキュリティ実践です。代わりに、認証にSSHキーを使用します。 [SSH documentation](http://www.openssh.com/manual.html)には、必要なもの、特に[ssh-keygen](http://man.openbsd.org/ssh-keygen)が含まれています。キーを作成して、各ターゲットホストの '〜/ .ssh/authorized_keys'ファイルにパブリック部分(つまり'〜/ .ssh/id_ed25519.pub')を追加します。 – ghoti

+1

データを暗号化して保存することができます(AES-256)が、入力しないとパスワードを渡すことができません。(私の答えを参照) –

答えて

2

デフォルトでは、Ansibleはあなたが のSSHキーを使用していることを前提としています。 SSHキーは推奨されていますが、必要に応じてパスワード認証 を使用して、--ask-passオプションを指定することもできます。 sudo機能を使用していて、sudoにパスワードが必要な場合は、 --ask-become-pass(以前は廃止された--ask-sudo-pass)を指定してください。

docsという機能は使用できませんでした。

+0

おそらく[this](http ://docs.ansible.com/ansible/playbooks_intro.html#hosts-and-users)も参照してください。 –

+1

これは広告として動作します。インベントリファイルに保存することもできます。 – smiller171

+0

実際には、インベントリはより良いオプションですが安全ではありませんので、代わりにスクリプトでパラメータを追加することができます(暗号化できる場所)。 [here](http://docs.ansible.com/ansible/intro_inventory.html#non-ssh-connection-types)は、インベントリにユーザ/パスを保存する方法です: 'ansible_user'、' ansible_ssh_pass' –

関連する問題