So I have a script that needs to be executed remotely as root. This isn't a problem with most Linux distros since they have a root account. But since Ubuntu does not, executing anything as root requires a 2-step process of entering the account password twice – once to log in and once for sudo. The SSH process to launch the script is automated, so it cannot pause for user input for the second password request.
Does anyone know, short of hacking Ubuntu to re-enable root (not an option), if unattended SSH script execution with superuser privilege on the target machine is possible? Also, having no experience with Debian, does Debian behave this way too?
Best Answer
You can ssh in using key-based only authentication, and then edit the sudoers file not to require a password. This will eliminate the password at the two steps you described.
To see up ssh key based ssh access:
And the for the sudoers file:
Better would be to require no password for sudo only for the commands you need to automate this particular function. See my answer here for that.
References:
Setting up a user without a password
How do you setup ssh to authenticate using keys instead of a username / password?