在我调用下面的shell脚本时,希望有一种方法可以在文件中使用密码。我不想为很多机器输入密码来复制一个文件。我需要使用SCP或者我不会工作
我也在使用ansible vault
- hosts: localhost
gather_facts: no
tasks:
- name: Copy File to Local Machine
shell: "scp test@{{ item }}:/home/test/*.csv /location/on/localhost"
with_items: "{{groups['firewall']}}"
答案 0 :(得分:1)
答案如下:
- name: Copy File to Local Machine
shell: "sshpass -p {{ ansible_ssh_pass }} scp test@{{ item }}:/home/test/*.csv /destination"
with_items: "{{groups['firewall']}}"
答案 1 :(得分:0)
您可以先保存密码。
$ cat config.sh
eval `ssh-agent -s`
ssh-add ~/.ssh/default # <- replace the ssh key with yours
准备好并在运行ansible playbook之前运行它
$ 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)
然后你不应该有密码提示问题。