前言
其實這篇要講的東西與另外一篇大同小異:
【Linux】將 anydesk 作為 VPN 跳板 (建立 tcp tunnel),使用 ssh 進行遠端連線開發 (anydesk ssh command line)
不過因為 Windows 想要 ssh 需要多設定一些東西,所以就有了這篇。
description: “紀錄在 Windows 上用 AnyDesk 與 SSH 進行遠控 — PuTTY、工具整合、遠端執行。”
我們要遠端開發的時候,最經常會需要的東西就是 VPN,
透過 VPN 能實現兩個不同網域能在同一個區網下的概念。
Anydesk 或是 teamviewer 強大的地方就在於,各種網路的跳板,
他們都已經幫我們實現了,這樣我們就可以簡單地實現不同區網間的電腦連線。
現在我們想基於 Anydesk 這個方便的機制,以 Anydesk 作為 VPN 跳板,
直接與遠端主機進行 ssh 連線。
補充:在某些遊戲中,我們會使用類似 hamachi 或 gcc LAN (已關閉服務),
達到虛擬區網的效果。
Windows 專屬步驟 - 開啟 ssh 連線方式 (外對內、內對內 (localhost))
Step 1. 安裝 OpenSSH 相關的設定
step 1-1. 左下角搜尋,找到「應用程式與功能」 (也可以直接從控制台中找)
step 1-2. 左下角搜尋,找到「應用程式與功能」 (也可以直接從控制台中找)
點選「選用功能」,因為這功能一般人不會用到,
所以 Windows 藏的很深也是很正常的。
step 1-3. 從選用功能中新增 OpenSSH 相關功能 (建議都裝,至少也要裝伺服器)
這邊就是要來安裝 Windows 做的原生 ssh 支援功能,
可以先從下方的「已安裝功能」嘗試搜尋 OpenSSH 看看有沒有曾經裝過。
注意:下面的搜尋是搜尋「已安裝功能」,不要像我第一次一樣以為這邊就是「搜尋安裝」的地方了XD
step 1-4. 從上方的「新增選用功能」,安裝 OpenSSH 相關功能
這邊因為我已經裝過了,沒辦法進行圖片示範,
總之應該會搜尋到一些可以安裝的東西。
step 2. 從 powershell 中開啟 ssh 連線的相關設定
step 2-1. (重要) 以「系統管理員」執行 Windows PowerShell
這邊我會「右鍵」左下角的 Windows 符號,選擇以「系統管理員」執行 Windows PowerShell
step 2-2. (重要) 輸入指令已開啟 ssh 服務
下面指令輸入完後,就可以開啟 ssh 服務了
Start-Service sshd
step 2-3. (選用) 自行決定要不要開起自動啟用 ssh 服務
因為我會很常使用 ssh 服務,這邊我設定給他自動啟動。
Set-Service -Name sshd -StartupType 'Automatic'
更:但後來有點擔心會有資安問題,我就把它關閉改成要用時自動啟動了。 (手動啟用)
Set-Service -Name sshd -StartupType 'Manual'
這邊可以參考 Microsoft 官方文件,網址: Microsoft 官方文件
到這邊基本上 ssh 的部分就都搞定了,真的很累XDDD
正式建立連線 - (共通步驟) step 0. 建立連線
- 將我們本機端的連線 port 設為 9000 (自訂,可更改)
- 遠端主機的 port 設定為 22 (ssh 固定 port,不可更改)
透過 ssh 連至 host
step 1. ssh 連線至遠端 terminal
在「anydesk 已建立連線」的狀態下 (可以只單純使用檔案傳輸模式),
在終端機輸入以下指令。
註:ubuntu 是「遠端主機的 hostname」
localhost 是本地主機的 (我們用 9000 去連對方的 22)
ssh -p 9000 ubuntu@localhost
結果圖
總之就是用 ssh 成功連上遠端電腦了!
透過 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














