讓 WSL 再次偉大 - 一起 SSH 到 Cloud Workstation 吧

因為公司政策改變,現在鼓勵 developer 用 GCP Cloud Workstations 取代 VM,開發上還是習慣用 Terminal 搭配 VS Code 來作業,沒辦法從 WSL 連上 Workstation 就像是心中有個結打不開那樣(以前有成功搞定 tunnel 過,但是 IT 不知道搞了什麼,後來不能用,也沒再花時間搞了)。

最近 Roo Code sunset,迎來 opencode 的時代,這種 CLI 工具沒有 Terminal 一定痛苦死,只好又跳下來弄一弄。

建立 TCP Tunnel

要用 SSH 連到 Cloud Workstation 需要透過 tunnel 來達成,可以使用這樣的指令:

1
2
3
4
5
6
7
gcloud workstations start-tcp-tunnel \
--project=my-gcp-project \
--cluster=asia-southeast1-cluster \
--config=vscode-small-standard \
--region=asia-southeast1 \
my-ws-name 22 \
--local-host-port=:2222

這會開啟一條 TCP tunnel,將 host 的 2222 port 轉發到 Cloud Workstation 上的 22 port。

只要再

1
ssh user@localhost -p 2222

就可以透過 SSH 連進去了,這樣做還有一個好處是,可以用自己 host 的 VS Code 走 remote 的方式進到 Cloud Workstation 開發,這樣就可以使用自己 VS Code 的設定,以及 extensions。

如果覺得上面兩個步驟太麻煩,只是想要快速 SSH 進去操作,可以使用:

1
2
3
4
5
6
7
gcloud workstations ssh \
--project=my-gcp-project \
--cluster=asia-southeast1-cluster \
--config=vscode-small-standard \
--region=asia-southeast1 \
--local-host-port=:2222 \
my-ws-name

繞過公司 Proxy

理論上上面應該都要能動,但是公司的 proxy 會擋長連線,所以 tunnel 必須繞過 proxy。本來以為把環境變數 $HTTP_PROXY$HTTPS_PROXY unset 就沒事了,但是試了很多次還是得到 502。

1
2
3
4
unset HTTP_PROXY
unset HTTPS_PROXY
unset http_proxy
unset https_proxy

後來查到,原來 Cloud SDK 也可以設定 Proxy。

1
2
3
4
5
gcloud config list --format="yaml(proxy)"

proxy:
address: mycompany.proxy.com
port: "80"

把這個 proxy 關了就能成功建立 tunnel 了!

1
2
3
gcloud config unset proxy/address
gcloud config unset proxy/port
gcloud config unset proxy/type

讓 WSL 再次偉大 - 一起 SSH 到 Cloud Workstation 吧
https://weiblog.me/2026-05-25/wsl-ssh-cloud-workstation/
Author
wei
Posted on
May 25, 2026
Licensed under