➣ Reading Time: 7 minutes前言
我們要遠端開發的時候,最經常會需要的東西就是 VPN,
透過 VPN 能實現兩個不同網域能在同一個區網下的概念。
Anydesk 或是 teamviewer 強大的地方就在於,各種網路的跳板,
他們都已經幫我們實現了,這樣我們就可以簡單地實現不同區網間的電腦連線。
現在我們想基於 Anydesk 這個方便的機制,以 Anydesk 作為 VPN 跳板,
直接與遠端主機進行 ssh 連線。
補充:在某些遊戲中,我們會使用類似 hamachi 或 gcc LAN (已關閉服務),
達到虛擬區網的效果。
(共通步驟) 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 功能可以參考這篇:
【Docker】在 windows 上使用安裝並使用 Docker (全圖文說明) windows 安裝 WSL (Windows Subsystem for Linux)
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 至遠端)

Reference
⭐Linux 指令 相關文章整理⭐: |
---|
⭐終端機 (terminal) 常用 總整理⭐: |
1. | (terminal指令 常用總整理)【Linux】linux/ubuntu/mac 基礎終端機 (terminal) 指令 & 基礎知識總整理,初學者/新手 必須知道的基礎指令 & 基礎知識大全(持續更新) |
2. | (terminal快速鍵 常用總整理)【Linux】linux/ubuntu/mac 基礎終端機 (terminal) 快速鍵/小技巧,初學者/新手 必須知道的一些實用功能!(持續更新) |
3. | (vim指令 常用總整理)【Linux】linux/ubuntu/mac vim 的 新手/初學者 的基礎使用指令 與 個人常用功能總整理 (持續更新) |
4. | 【MobaXterm】在 Windows 中使用 MobaXterm VPN 連線至遠端系統 (linux, ubuntu) 遠端 ssh 顯示畫面 |
⭐Linux 基礎指令篇⭐: |
1. | 【Linux】(作業系統基礎知識) 簡單理解「相對路徑」與「絕對路徑」,程式設計 初學者/新手 必須知道的路徑知識總整理 |
2. | 【Linux】linux ubuntu 中利用 mkdir 建立資料夾 相關參數總整理 (必定建立資料夾、修改資料夾權限 777) |
3. | 【Linux】linux ubuntu 使用 terminal (終端機) 關機 shutdown、重新開機 reboot 的方法 |
⭐Linux 網路相關指令篇⭐: |
1. | 【Linux】利用 ifconfig 查詢 ip 並用 scp 傳送資料 – linux, ubuntu 基礎終端機指令學習 sample code (內含範例程式碼) |
2. | 【Linux】使用 sshfs 連線 將遠方磁碟當作像是在自己電腦的硬碟 mount disk on other computer |
3. | 【Linux】使用 curl 將網路上的檔案 透過終端機 terminal 的方式下載 download |
⭐Linux 進階指令篇 (檔案處理相關)⭐: |
1. | 【Linux】linux, ubuntu 壓縮檔案常用指令 tar gzip zip 7z 壓縮檔案切割、壓縮檔案加密 與 解壓縮套件安裝方法 (內附圖文說明) |
2. | 【Linux】Linux 查詢資料夾內的檔案數目 ls -1 | wc -l |
3. | 【Linux】linux ubuntu 中利用 tail -f 可以查看 log 並不斷更新 |
4. | 【Linux】在終端機 terminal 使用 ln -s 建立如 windows, mac, ubuntu 檔案系統上的捷徑 – 軟連結 (Symbolic Link) |
5. | 【Linux】linux, ubuntu 使用 split 指令檔案切割、檔案合併 |
6. | 【Linux】Linux 運用 sed 進行檔案內容的取代 instead 用法 |
7. | 【Linux】mac/ubuntu 如何利用 terminal 打開 GUI 資料夾總整理 |
⭐Linux 進階指令篇 (搜尋相關)⭐: |
1. | 【Linux】linux, ubuntu 使用 ps, grep, pgrep 找到程式碼的 相關資訊 與 pid (ps aux, ps -ef) |
2. | 【Linux】linux ubuntu 使用 grep, awk, xargs 尋找需要的資料,快速濾出/篩選 結果欄位 所需要的資訊 (內附圖文說明) filter column |
⭐Linux 特殊應用篇⭐: |
1. | 【Linux】Linux 增加 swap 的虛擬記憶體空間 |
2. | 【Linux】在 Ubuntu (Linux 系統) 上透過 / etc/fstab 安裝新的硬碟、新增硬碟容量 (SSD, HDD) (內附圖文說明) |
3. | 【Linux】linux / ubuntu 複製硬碟的方法 copy all disk |
4. | 【Linux】(內附圖文說明) ubuntu 停止自動更新的方法 disable auto update |
5. | 【Linux】linux/ubuntu 下執行 anaconda-navigator 的方法 |
⭐Bash 自動化程式撰寫⭐: |
1. | 【Bash】echo,bash 的 hello world 基本教學,開始自動化程式的第一堂課 / 撰寫腳本,利用 echo 顯示變數 |
⭐【喜歡我的文章嗎? 歡迎幫我按讚~ 讓基金會請創作者喝一杯咖啡! 】
如果喜歡我的文章,請幫我在下方【按五下Like】 (Google, Facebook 免註冊),會由 「LikeCoin」 贊助作者鼓勵繼續創作,讀者們「只需幫忙按讚,完全不用出錢」哦!
 |
---|
Post Views:
2,181
[…] 【Linux】將 anydesk 作為 VPN 跳板 (建立 tcp tunnel),使用 ssh 進行遠端連線開發 (… […]
[…] 【Linux】將 anydesk 作為 VPN 跳板 (建立 tcp tunnel),使用 ssh 進行遠端連線開發 (… […]
[…] 【Linux】將 anydesk 作為 VPN 跳板 (建立 tcp tunnel),使用 ssh 進行遠端連線開發 (… […]
[…] 【Linux】將 anydesk 作為 VPN 跳板 (建立 tcp tunnel),使用 ssh 進行遠端連線開發 (… […]