gpt4 book ai didi

bash - 在 GCP 实例上运行 gcloud 不能通过 ssh 运行,但可以在实例上运行

转载 作者:行者123 更新时间:2023-12-02 14:13:19 25 4
gpt4 key购买 nike

我有一个使用我的 SSH key 正确设置的外部实例 IP。如果我运行以下代码来访问 GCP 实例。

>> ssh <instance IP>
# Login happens
>> gcloud <some command>
# Gcloud outputs as expected
但是,我无法运行 gcloud直接通过 ssh 命令。那是
>> ssh <instance IP> gcloud <some command>
bash: gcloud: command not found
我相信这是一些问题的根本原因,如果我手动 ssh 并在交互式 shell 中运行,我看到我有权运行命令,但如果我通过 ssh 传递命令则没有。
我试过了
>> ssh <INSTANCE IP> -t "source ~/.bashrc; gcloud auth list"
bash: gcloud: command not found
>> gcloud compute ssh instance-name -- -t "gcloud"
bash: gcloud: command not found
>> gcloud compute ssh instance-name --command="gcloud"
bash: gcloud: command not found
以及围绕 bashrc 和 gcloud 的类似技巧,但无论如何我都无法立即看到与谷歌相关的内容。
这些实例正在运行 Ubuntu 20.04,或多或少是新鲜的图像。问题出在实例之间,或者在连接到实例的本地计算机上。
我怀疑我在这里遗漏了一些简单的东西 - 任何接受者?

最佳答案

检查 ssh 上的二进制位置后

>> which gcloud
/snap/bin/gcloud
该问题是由 /snap/bin 引起的不在 PATH 上,如 here 所述.
现在正在积极处理该错误,但似乎尚未完成。它特别影响 ubuntu,而事实 gcloud在默认发行版中作为 snap 安装。
这导致了一些误导性问题 - 就我而言, gcloud被用作 docker 的身份验证器,但缺乏可用性意味着产生的错误是“缺少权限”错误。
一种解决方法是
>> ssh <instance IP> PATH=$PATH:/snap/bin/ gcloud <some command>
希望这对某人有帮助!

关于bash - 在 GCP 实例上运行 gcloud 不能通过 ssh 运行,但可以在实例上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63380817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com