当前位置: 首页 > linux, 系统 > 正文

[解决] 抱歉,您必须拥有一个终端来执行 sudo

[摘要] Linux ssh执行远端服务器sudo命令时有如下报错:
sudo: sorry, you must have a tty to run sudo
sudo:抱歉,您必须拥有一个终端来执行 sudo

真实场景是在执行pssh的时候,在远端服务器执行sudo命令,有如下报错:

$ pssh -h testlist.txt -l fisher "sudo uptime" 
[1] 12:33:14 [FAILURE] 10.20.30.40 Exited with error code 1

非sudo情况下:

$ pssh -h testlist.txt -l fisher "uptime" 
[1] 12:32:27 [SUCCESS] 10.20.30.40

DEBUG:ssh方式执行远程sudo命令

$ ssh 10.20.30.40 "sudo uptime"
sudo:抱歉,您必须拥有一个终端来执行 sudo

网上搜了一下,解决办法是编辑 /etc/sudoers 文件,将Default requiretty注释掉。
sudo vi /etc/sudoers
#Default requiretty #注释掉 Default requiretty 一行

具体操作:

sudo sed -i 's/Defaults    requiretty/#Defaults    requiretty/g' /etc/sudoers
sudo cat /etc/sudoers | grep requiretty

本文固定链接: https://sudops.com/you-must-have-a-tty-to-run-sudo.html | 运维速度

该日志由 u2 于2014年11月03日发表在 linux, 系统 分类下,
原创文章转载请注明: [解决] 抱歉,您必须拥有一个终端来执行 sudo | 运维速度
关键字:

报歉!评论已关闭.