繁体   English   中英

在遥控器上运行sudo脚本/ bash命令

[英]Running sudo scripts/bash commands on a remote

我需要远程启动执行sudo任务的bash脚本,例如chmod和ntpdate并回显到gpio。

cron工作也许是其中某些最佳的解决方案,但是cron让我头疼。 如果可以的话,我想在这个地方过去。

我已经确认我的脚本可以在本地运行(我可以ssh进入计算机并运行,而不会打ic。)

但是,如果我尝试像这样远程运行它们:(这在C ++系统调用中)

ssh user @ pc'bash -s'</home/user/myScript.sh

带有sudo的命令失败。

sudo chmod失败,原因:不存在tty且未指定AskPass程序回显gpio失败:写入错误:设备或资源繁忙sudo ntpdate失败,失败:不存在tty且未指定askpass程序

谁能帮忙解释一下,或帮助我确定这里发生的事情吗?

我愿意接受创可贴和其他方法的帮助,谢谢!

您已经自己发现了问题:

sudo chmod失败,原因:没有tty存在并且没有指定askpass程序

如果您通过ssh运行shell脚本,而该脚本想运行sudo ,则sudo本身会要求用户输入密码。 但是ssh会话不是tty! sudo现在应该如何提示输入密码以及如何获取密码?

如果您在脚本中提供密码,则可以执行此操作(如果其他人可以读取该脚本,这将非常危险!)

script.sh:

回显“您的密码” | 须藤-S

作为替代解决方案,您可以与特权更高的用户一起运行ssh会话。

ssh privileged_user @ pc'bash -s'</home/user/myScript.sh

所有这些都带有一定的危险。 使用特权更高的用户从cript运行所有命令也很危险!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM