[mytest@test scripts]$ ssh -P22 test1@10.0.0.181 sudo ls /root
sudo: sorry, you must have a tty to run sudo

CentOS5.8系统,2.6内核,ssh远程用sudo执行命令时,提示sudo:sorry,you must have a tty to run sudo.(你必须用一个终端才能执行sudo)

解决方法:

修改sudo配置文件 vim /etc/sudoers(或visudo),找到 Default requiretty(默认需要终端),将此行注释掉即可。

#Default requiretty

注释掉即可后台执行了。