Cannot acces instance using compute ssh : "ERROR: [....putty.exe] exited with return code [1]

Cannot acces instance using compute ssh : "ERROR: [....putty.exe] exited with return code [1]

这是我的问题: 我想连接到一个 gcp 实例。当我 运行 Google Cloud SDK shell 作为管理员使用命令时: gcloud compute ssh my_instance --zone=europe-west1-b -- -L=8081:locahost:8081 ..我收到此错误:ERROR (gcloud.compute.ssh) [..../putty.exe] exited with return code [1]

我的实例是 运行 元数据 enable-oslogin as TRUE,作为项目。

您知道问题出在哪里吗?

在命令中使用 -- 时,您将在破折号之后传递 SSH 标志,而不是 gcloud 命令标志。解释一下,gcloud compute ssh 是 ssh(1) 命令的精简包装器,负责身份验证以及将实例名称转换为 IP 地址。

在这种情况下,-- 相当于 --ssh-flag SDK reference。似乎 putty 正在输出未传递到命令行(SDK shell)的错误。在 putty 退出之前,实际错误应该在对话框 window 中可见。

我自己在 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 以允许进入端口 8081 上的实例。