我正在尝试使用以下命令以非交互方式重新启动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
后,不会提示密码。
请帮帮我
1条答案
按热度按时间k2arahey1#
当运行“
sudo su
”命令从外部连接Linux VM时,通常需要您手动提供可以登录VM的有效用户的密码。同样,当您在管道中运行此命令时,如果没有交互模式,管道将一直等待您提供所需的密码,直到超时。要将密码传递给'
sudo su
'命令,您可以尝试使用管道,如下所示。字符串
当您在Linux虚拟机上尝试时,由于您已经手动提供了正确的用户名和密码登录虚拟机,因此在虚拟机上直接手动运行“
sudo su
”命令时,一般不会要求您再次提供密码。