Il modulo di sincronizzazione di Ansible (v1.6.5) richiede la passphrase (Immettere passphrase per chiave) anche se l'ho già inserito all'inizio di esecuzione del playbook.Ansible sincronizza prompt password anche se è già stata immessa all'inizio
Qualche idea del perché?
eseguo il mio playbook con le seguenti opzioni:
-u myuser --ask-sudo-pass --private-key=/path/to/id_rsa
Ecco il mio compito sincronizzare:
- name: synchronize source files in src location
sudo: yes
synchronize: src={{local_src}} dest={{project_dirs.src}} archive=yes delete=yes rsync_opts=["--compress"]
when: synchronize_src_files
UPDATE con ssh-agent
Seguendo il consiglio di Lekensteyn, ho provato con ssh-agent. Non ho più un prompt ma l'attività non riesce. Cosa mi manca?
eval `ssh-agent -s`
ssh-add ~/.ssh/id_rsa
L'errore:
TASK: [rolebooks/project | synchronize source files in src location] **********
failed: [10.0.0.101] => {"cmd": "rsync --delay-updates -FF --compress --delete-after --archive --rsh 'ssh -i /home/vagrant/.ssh/id_rsa -o StrictHostKeyChecking=no' --rsync-path=\"sudo rsync\" [--compress] --out-format='<<CHANGED>>%i %n%L' /projects/webapp [email protected]:/var/local/sites/project1/src", "failed": true, "rc": 12}
msg: sudo: no tty present and no askpass program specified
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.0]
ok, quindi quello che sto vivendo è il comportamento "normale", non è un problema solo nel mio caso. L'uso di ssh-agent funziona o è un suggerimento da provare? – Michael
È un comportamento "normale", ma è sottinteso che rsync non usi il socket di controllo di Ansible che dovrebbe evitare la necessità di riautenticazione. ssh-agent funziona di sicuro, è ciò che faccio io (e probabilmente la maggior parte delle altre persone). Viene anche menzionato su http://docs.ansible.com/intro_getting_started.html – Lekensteyn
@YAmikep L'errore deriva da 'sudo' che significa che il comando SSH ha avuto successo. Ho già detto che trovo la "sincronizzazione" la parte peggiore, non integrata di ansible? – Lekensteyn