內容目錄
前言
其實這篇要講的東西與另外一篇大同小異:
【Linux】將 anydesk 作為 VPN 跳板 (建立 tcp tunnel),使用 ssh 進行遠端連線開發 (anydesk ssh command line)
不過因為 Windows 想要 ssh 需要多設定一些東西,所以就有了這篇。
我們要遠端開發的時候,最經常會需要的東西就是 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 功能可以參考這篇:
【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 至遠端)
- 會顯示遠端的 container
Reference
- 【Docker】利用 VScode 透過 ssh tunnel 直接連線到遠端 Docker 的 container 中進行開發
- SSH through TCP tunneling
- SSH 遠端連線回家中的 Windows 電腦
[…] 【Windows】將 anydesk 作為 VPN 跳板 (建立 tcp tunnel),使用 ssh 進行遠端連線開發… […]
[…] 這篇的前身是 【Windows】將 anydesk 作為 VPN 跳板 (建立 tcp tunnel),使用 ssh 進行遠端連線開發… […]
[…] 【Windows】將 anydesk 作為 VPN 跳板 (建立 tcp tunnel),使用 ssh 進行遠端連線開發… […]