这是我的问题: 我想连接到一个gcp实例。当我以管理员身份使用以下命令运行Google Cloud SDK Shell时: gcloud compute ssh my_instance --zone = europe-west1-b--L = 8081:locahost:8081 ..我收到此错误:错误(gcloud.compute.ssh)[.... / putty.exe]退出,返回码为[1]
作为实例,我的实例正在使用元数据enable-oslogin作为TRUE运行。
您知道问题出在哪里吗?
答案 0 :(得分:0)
在命令中使用--
时,您在破折号后传递了SSH标志,而不是gcloud命令标志。为了说明,gcloud compute ssh是ssh(1)命令的瘦包装,它负责身份验证以及将实例名称转换为IP地址。
在这种情况下,根据此SDK reference,--
等效于--ssh-flag
。看来腻子正在输出未传递到命令行(SDK Shell)的错误。实际的错误应该在腻子退出之前在对话框窗口中可见。
我已经在Windows上尝试了该命令,确切的错误是unknown option "L=8081:localhost:8081"
。 SSH标志不被接受,因为那里有一个=
符号(典型)。
根据linuxcommand.org manual,该标志应采用以下格式:
-L [bind_address:]port:host:hostport
因此,您应该像这样运行命令:
gcloud compute ssh my_instance --zone=europe-west1-b -- -L 8081:locahost:8081
请注意,您可能必须创建一个firewall rule才能允许Ingress进入端口8081上的实例。