linux 获取无法重新启动tlu.service:在gcpvm中执行远程命令时需要交互式身份验证

djmepvbi  于 5个月前  发布在  Linux
关注(0)|答案(1)|浏览(88)

我正在尝试使用以下命令以非交互方式重新启动Linux虚拟机上的服务。

gcloud compute ssh {user}@{vm_name} --command="{script}" --project={tenant_project_name} --zone={vm_zone} --tunnel-through-iap --quiet
 script = systemctl restart tlu

字符串
我看过很多文章,得出的结论是最初运行sudo su并运行retart命令。但当我运行sudo su时,管道代理运行了很长时间(直到现在)。然而,如果我在vm内部尝试,在执行sudo su后,不会提示密码。
请帮帮我

k2arahey

k2arahey1#

当运行“sudo su”命令从外部连接Linux VM时,通常需要您手动提供可以登录VM的有效用户的密码。
同样,当您在管道中运行此命令时,如果没有交互模式,管道将一直等待您提供所需的密码,直到超时。要将密码传递给'sudo su'命令,您可以尝试使用管道,如下所示。

password="xxxx"
echo $password | sudo su

字符串
当您在Linux虚拟机上尝试时,由于您已经手动提供了正确的用户名和密码登录虚拟机,因此在虚拟机上直接手动运行“sudo su”命令时,一般不会要求您再次提供密码。

相关问题