有没有办法使用 gcloud compute ssh 实用程序远程执行命令
Is there a way to execute commands remotely using gcloud compute ssh utility
我知道可以像这样使用 ssh(在文件中)远程执行命令;
#!/bin/sh
ssh ${USER}@${SERVER_IP} <<EOF
cd ${PROJECT_PATH}
git pull
exit
EOF
我的问题是:可以用 gcloud compute ssh 做同样的事情吗?我是说;
gcloud compute ssh vm-internal --zone us-central1-c --tunnel-through-iap << EOF
...
...
EOF
PS:该实例是私有的,没有外部 IP,因此使用 iap
只要您可以通过 ssh 连接到实例,您应该能够:
gcloud compute ssh .... --command="bash -s" <<EOF
echo "Hello Freddie"
ls -l
EOF
您可以对此进行测试(感谢 gcloud
使用 Cloud Shell 的一致性):
gcloud alpha cloud-shell ssh --command="bash -s" <<EOF
echo "Hello Freddie"
ls
EOF
NOTE you may not need the -s
but I think it's preferred
产量:
Automatic authentication with GCP CLI tools in Cloud Shell is disabled. To enable, please rerun command with `--authorize-session` flag.
Hello Freddie
Projects
README-cloudshell.txt -> /google/devshell/README-cloudshell.txt
Whosebug
我知道可以像这样使用 ssh(在文件中)远程执行命令;
#!/bin/sh
ssh ${USER}@${SERVER_IP} <<EOF
cd ${PROJECT_PATH}
git pull
exit
EOF
我的问题是:可以用 gcloud compute ssh 做同样的事情吗?我是说;
gcloud compute ssh vm-internal --zone us-central1-c --tunnel-through-iap << EOF
...
...
EOF
PS:该实例是私有的,没有外部 IP,因此使用 iap
只要您可以通过 ssh 连接到实例,您应该能够:
gcloud compute ssh .... --command="bash -s" <<EOF
echo "Hello Freddie"
ls -l
EOF
您可以对此进行测试(感谢 gcloud
使用 Cloud Shell 的一致性):
gcloud alpha cloud-shell ssh --command="bash -s" <<EOF
echo "Hello Freddie"
ls
EOF
NOTE you may not need the
-s
but I think it's preferred
产量:
Automatic authentication with GCP CLI tools in Cloud Shell is disabled. To enable, please rerun command with `--authorize-session` flag.
Hello Freddie
Projects
README-cloudshell.txt -> /google/devshell/README-cloudshell.txt
Whosebug