Description of problem: Upgrading from sudo-1.6.9p17-6.el5_4 to sudo-1.7.2p1-5.el5 broke shell scripts that called sudo scripts over ssh Version-Release number of selected component (if applicable): How reproducible: 1. start with a 1.6.9 system 2. confirm that requiretty is not in the sudoers file: $ sudo grep requiretty /etc/sudoers # Defaults requiretty 3. run script from remote machine remote$ /usr/bin/ssh -n -l day cms2.aarp.net \ 'exec /some/path/to/script/with/sudo/in/it' 4. upgrade $ sudo rpm -Uvh sudo-1.7.2p1-5.el5.x86_64.rpm 5. Run same script from remote machine remote$ /usr/bin/ssh -n -l day cms2.aarp.net \ 'exec /some/path/to/script/with/sudo/in/it' sudo: no tty present and no askpass program specified 6. Unhappy fail. Additional info:
Please, try: Defaults visiblepw If it works, then sudo was unable to disable echo on the allocated tty or no tty is allocated (exec?).
This option would be fine to enable old behavior, however if you add this option to systems still running sudo 1.6.9 it breakes sudo entirely with the following: sudo: unknown defaults entry `visiblepw' referenced near line 6 sudo: parse error in /etc/sudoers near line 5
Try to use the `-t' option when executing the command on the remote machine using ssh. This is mentioned in the comment above the 'Defaults requiretty' line in the sudoers file (in 1.7.x). Feel free to reopen this bug if the above mentioned solution isn't appropriate for your problem.