我正在尝试使用 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/