前言
其實這篇要講的東西與另外一篇大同小異:
【Linux】將 anydesk 作為 VPN 跳板 (建立 tcp tunnel),使用 ssh 進行遠端連線開發 (anydesk ssh command line)
不過因為 Mac 想要 ssh 需要多設定一些東西,所以就有了這篇。
description: “紀錄在 Mac 上用 AnyDesk 與 SSH 遠控方案 — 共享設定遠端登入、port 9000 轉 22、ssh -p 9000 連線的完整步驟。”
我們要遠端開發的時候,最經常會需要的東西就是 VPN,
透過 VPN 能實現兩個不同網域能在同一個區網下的概念。
Anydesk 或是 teamviewer 強大的地方就在於,各種網路的跳板,
他們都已經幫我們實現了,這樣我們就可以簡單地實現不同區網間的電腦連線。
現在我們想基於 Anydesk 這個方便的機制,以 Anydesk 作為 VPN 跳板,
直接與遠端主機進行 ssh 連線。
補充:在某些遊戲中,我們會使用類似 hamachi 或 gcc LAN (已關閉服務),
達到虛擬區網的效果。
Mac 專屬步驟 - 開啟 ssh 連線方式 (外對內、內對內 (localhost))
step 1. 打開系統偏好設定,找到共享 (也可以右上角直接搜尋 「internet 共享」)
step 2. 從共享中開啟 ssh 連線的設定 (也可以右上角直接搜尋 「internet 共享」)
打勾遠端登入,即可開啟 mac ssh 功能
(開啟後請特別留意資安問題,開啟這個之前務必知道自己在做什麼。)
正式建立連線 - (共通步驟) step 0. 建立連線
- 將我們本機端的連線 port 設為 9000 (自訂,可更改)
- 遠端主機的 port 設定為 22 (ssh 固定 port,不可更改)
透過 ssh 連至 host
step 1. ssh 連線至遠端 terminal
在「anydesk 已建立連線」的狀態下 (可以只單純使用檔案傳輸模式),
在終端機輸入以下指令。
ssh -p 9000 ubuntu@localhost
透過 VScode 連線至遠端 host
step 1. 使用 VScode ssh 連線至遠端 (有 GUI 介面)
打開 VScode 左下角的遠端連線 (需要先安裝 ssh 相關的套件)
- 輸入以下內容,即完成連線:
ubuntu@localhost:9000
- 示意圖:
透過 VScode 連線至遠端 container
step 1. terminal 建立 ssh 反向通道,使本地可查看遠端 docker 內容
ssh -p 9000 -nNTL localhost:23750:/var/run/docker.sock ubuntu@localhost
step 2. VScode 設定的部分
基本的 docker 擴充功能必須先安裝好,
而且 local 也需要具備有 docker 的功能,
如果不知道如何在 windows 中啟用 docker 功能可以參考這篇:
https://wongwongnotes.com/posts/dev-tools/containers/docker/docker-windows/
step 2.1 打開「設定」,我們準備進行修改
我們打開並修改設定「settings.json」,
點選「檔案」->「喜好設定」中的「設定」。
step 2.2 在上方搜尋「settings.json」(不用全輸入),打開「settings.json」,我們準備進行修改
- 或者也可以點擊右上角的符號,也可以叫出 「settings.json」
step 2.3 在「settings.json」中加入遠端 container port 的設定
在「settings.json」中加入這行
"docker.host": "tcp://localhost:23750"
- 示意圖:
只需要確保有加入紅框那行即可,
其他行代表的是其他設定,可以不用管。
完成結果
我們可以在 local 自己的 VScode,
可以透過「Docker extension」直接看到遠端 container 內的資料。
(注意:不需要再另外經由 VScode 的 ssh 至遠端)
- 會顯示遠端的 container









