What to do when sudo password prompt is hidden

I’m using Ansible to do an ad-hoc command against multiple systems. The command does a wget and then pipes to sudo sh. Obviously, I’m using the shell module to do this.

Psuedo command: ansible group -B 1800 -P 30 -m shell -a ‘wget -O - http://some.url.com | sudo sh’ --ask-pass --sudo --ask-sudo-pass

Problem is that sometimes, when this is done, sudo password prompt is hidden until user hits enter on keyboard.

How can I get Ansible beyond this issue?

Thanks,

Alex

you don’t need the sudo in the command line, which is probably causing the issue.

cringe at running script from the web as root cringe

One solution is to do this instead:

ansible group -B 1800 -P 30 -m shell -a ‘wget -O /tmp/dosomething http://some.ur.com/somefile && ls -l /tmp/dosomething && sudo /bin/bash /tmp/dosomething’ --ask-pass --sudo --ask-sudo-pass

Not sure why doing it the other way sometimes has the prompt issue.

Alex

With && the things get executed sequentially, with | they get executed almost synchronously, so it has a race condition between your explicit sudo and the sudo ansible runs being fed the password before your’s prompts for it.

Oh, yeah, dumb mistake.

And it’s not from the “web”, it’s from an internal package source that just happens to be a web site.

Thanks,

Alex

Now I'll sleep a bit better.