我有这个命令在终端上执行时可以正常运行:
ssh someuser@someserver -t "sudo systemctl start someservice"
ssh不要求密码,有公钥连接,可以执行sudo免密码someuser
启动。someservice
我需要将上面的命令插入到 crontab 中。不幸的是它没有被执行;我怀疑问题出在使用ssh -t
sudo 所需的伪终端。伪终端好像不能通过cron来实现(我的假设,没有确凿的证据)。
总而言之,我的目标是在没有交互的情况下按时间间隔执行命令。任何想法如何按照现有方法对此进行排序?
欢迎工作替代方案。
正如我最初怀疑的那样,问题是
ssh -t
。解决方案,我
/etc/sudoers
在 SSH 服务器端添加了这个:说不清是做什么
requiretty
用的。为了安全起见,我只为一个用户禁用了它,而不是全局禁用它。其他方面似乎并没有影响该用户。