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

问题描述 投票:0回答:1

我正在尝试使用以下命令以非交互方式重新启动 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
并运行重新启动命令。但是当我运行
sudo su
时,管道代理运行了很长一段时间(到目前为止)。但是,如果我在虚拟机内尝试,执行后
sudo su
不会提示密码。

请在这里帮助我

linux google-cloud-platform azure-devops azure-pipelines virtual-machine
1个回答
0
投票

当从外部运行“

sudo su
”命令连接Linux虚拟机时,通常需要您手动提供可以登录虚拟机的有效用户的密码。

同样,当您在没有交互模式的管道中运行此命令时,管道将一直等待您提供所需的密码,直到超时。要将密码传递给 '

sudo su
' 命令,您可以尝试使用管道,如下所示。

pwd="xxxx"
echo $pwd | sudo su

当您在Linux虚拟机上尝试时,由于您已经手动提供了正确的用户名和密码来登录虚拟机,因此在虚拟机上直接手动运行“

sudo su
”命令时,一般不会要求您提供再次输入密码。


© www.soinside.com 2019 - 2024. All rights reserved.