"须藤"失败了" sudo需要tty"从PuTTY命令行

时间:2016-09-21 18:32:36

标签: linux ssh putty tty

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

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

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

  

sudo需要tty

令我困惑的是,如果我在没有提供脚本的情况下启动会话,那么手动运行脚本中的命令,它可以正常工作。我尝试过使用-load代替-ssh,但没有任何区别。

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

2 个答案:

答案 0 :(得分:0)

阅读错误:sudo requires a tty。也就是说,一个交互式shell。您必须找到执行这些特权指令的其他方法。例如,您可以以root身份使用基于密钥的身份验证登录

答案 1 :(得分:0)

sudo需要TTY /互动会话。

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

使用-t switch覆盖它。

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