2016-05-19 10 views
1

以下のシェルスクリプトを呼び出すときにファイル内のパスワードを使用する方法を探しています。 1つのファイルをコピーするために多くのマシンでパスワードを入力する必要はありません。私は、SCPを使用する必要があるか、TIは、私はまた、あなたが最初にパスワードを保存することができますansibleボールトシェルコマンドで保存されたパスワードを使用することができます

- hosts: localhost 
     gather_facts: no 

     tasks: 

     - name: Copy File to Local Machine 
      shell: "scp [email protected]{{ item }}:/home/test/*.csv /location/on/localhost" 
      with_items: "{{groups['firewall']}}" 

答えて

1

答え:

- name: Copy File to Local Machine 
    shell: "sshpass -p {{ ansible_ssh_pass }} scp [email protected]{{ item }}:/home/test/*.csv /destination" 
    with_items: "{{groups['firewall']}}" 
0

を使用してい

を動作しません。

$ cat config.sh 
eval `ssh-agent -s` 
ssh-add ~/.ssh/default  # <- replace the ssh key with yours 

は、それを準備してとその後、パスワードプロンプトの問題を持つべきではありませんansible脚本に

$ chmod +x config.sh 
$ . config.sh 
Agent pid 87414 
Enter passphrase for /home/test/.ssh/default: 
Identity added: /home/test/.ssh/default (/home/test/.ssh/default) 

を実行する前にそれを実行します。下に設けられた

+0

ansibleボールトからプルする方法はありますか?私はパスワードがそこに格納されている – ehuck

+0

良いアイデア、なぜ自分で試してみませんか?私は行く道を与えた、あなたはあなたの要求に合わせてうまくいくはずです。 – BMW

関連する問題