How to enable sudo commands over SSH without asking password?

28,138

It seems like I had a "typo" in the /etc/sudoers file...

jeff ALL=NOPASSWD: ALL

needed to be at the very end of file. Ubuntu Help only says Add (...) to the END of the file (if not at the end it can be nullified by later entries)

After that, password is never asked for "jeff's sudo commands, either locally or over SSH.

Share:
28,138
Jeff
Author by

Jeff

Updated on September 18, 2022

Comments

  • Jeff
    Jeff over 1 year

    I have server A and server B (both Ubuntu 10.04 LTS) doing different tasks. Server A needs to poke Server B, which generates a file and scp's it back to server A when done. This is all in-house and I am not too concerned about security issues. SSH Key exchange is already performed between servers A and B and works fine.

    On server B, the script generateOfflineSig looks like

    #!/bin/bash
    echo "in script"
    sudo apt-offline set offline_package.sig --install-packages "$0"
    echo "after sudo"
    scp offline_package.sig jeff@servera:/tmp
    

    Also on server B, visudo has this entry:

    jeff ALL=NOPASSWD: ALL

    Which works if I execute sudo ls on Server B... no password asked.

    Unfortunately SSH always asks for a password on Server A:

    jeff@servera:~$ ssh -t jeff@serverb /home/jeff/generateOfflineSig "incron"
    in script
    [sudo] password for jeff:
    

    Any ideas? This process can't be interrupted by password input.

    • snapshoe
      snapshoe almost 11 years
      Not 100% sure of /etc/sudoers syntax, but my file has the line # %wheel ALL=(ALL) NOPASSWD: ALL. Maybe your line should be jeff ALL=(ALL) NOPASSWD: ALL?
    • HiFi
      HiFi almost 11 years
      Doesn't the entire remote command have to be in quotes? You might be executing the script on Sever A
    • Jeff
      Jeff almost 11 years
      Actually... I think snapshoe is on to something. I'll answer my own question a bit later...