我尝试使用PuTTY在远程CentOS计算机上运行某些命令。我使用以下命令:
putty.exe -ssh [IP] -l [user] -pw [password] -m [Script]
其中[Script]
是包含我想要运行的命令的.txt文件。问题是其中一个命令需要sudo
,当PuTTY尝试运行它时,我收到一个错误:
sudo需要tty
令我困惑的是,如果我在没有提供脚本的情况下启动会话,那么手动运行脚本中的命令,它可以正常工作。我尝试过使用-load
代替-ssh
,但没有任何区别。
出于安全原因,我无法更改requiretty
文件中的sudoers
设置,这是我能够找到的唯一解决方案。还有其他选择吗?
答案 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]