linux - 从 PuTTY 命令行执行时,"Sudo"失败并显示 "sudo requires a tty"

标签 linux ssh putty tty

我正在尝试使用 PuTTY 在远程 CentOS 计算机上运行一些命令。我正在使用以下命令:

putty.exe -ssh [IP] -l [user] -pw [password] -m [Script]

其中[Script]是一个.txt文件,其中包含我要运行的命令。问题是其中一个命令需要 sudo,当 PuTTY 尝试运行它时,我收到错误:

sudo requires a tty

令我困惑的是,如果我在不提供脚本的情况下启动 session ,然后手动运行脚本中的命令,它就可以正常工作。我尝试过使用 -load 而不是 -ssh,但没有什么区别。

出于安全原因,我无法更改 sudoers 文件中的 requiretty 设置,这是我能找到的唯一解决方案。还有其他选择吗?

最佳答案

sudo 需要 TTY/交互式 session 。

相反,PuTTY/Plink -m 开关默认使用非交互式 session 。

使用-t switch覆盖它。

putty.exe -ssh [IP] -l [user] -pw [password] -t -m [Script]

关于linux - 从 PuTTY 命令行执行时,"Sudo"失败并显示 "sudo requires a tty",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39624073/

相关文章:

c - fopen中的r和rb有什么区别

c - Pthreads:主线程和子线程栈大小的关系

git - 通过端口 443 推送到 heroku

windows - 无法通过 SSH 连接到 Azure Windows Server VM

python - 通过 ssh 从远程 Linux 机器运行本地 python 脚本

linux - 如何在 grep 中显示搜索词

C UDP服务器访问问题

amazon-web-services - scp(安全复制)到 ec2 实例,无需密码

linux - gcc '-c'和gcc '-o'是什么意思?

linux - 标签而不是美元符号 ssh shell