When I log into an ec2 instance via ssh using keypair (logged in as ec2-user user), I am able to execute sudo commands without typing a password.

How can I configure ec2 instance to prompt for a password when the logged in user issues a sudo command?


Warning: Make sure to set the password for ec2-user before doing this

You need to modify the sudo settings to enable password authentication when using sudo. Run the visudo command as root (or sudo visudo) and look for a line like this:

ec2-user        ALL=(ALL)       NOPASSWD: ALL

Remove the NOPASSWD: bit, so the line looks like this:

ec2-user        ALL=(ALL)       ALL

sudo will ask for a password next time you log on. Again, make sure to set your password before doing this!

  • 3
    I think that next time you should put 'Make sure to set your password before doing this!' at the very top and in bold. – petwho Jul 16 '14 at 15:12
  • What should I do if I didn't set a password? :) – Anton Khodak Sep 25 '17 at 8:36
  • Redeploy the instance using your automated deployment process ;) It's a bit of a workaround, but you can connect the disk of your current container to a different instance as a second disk, mount it and change the /etc/sudoers file. Then unmount and reconnect it to the original instance and boot it. – mtak Sep 27 '17 at 8:42
  • yeah this doesn't work. – 1N5818 Sep 28 '17 at 21:11

protected by JakeGould Oct 19 '15 at 4:33

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.