首頁 > 軟體

vscode遠端開發使用SSH遠端連線伺服器的方法「內網穿透」

2023-02-20 06:01:41

遠端連線伺服器工具有很多,比如XShell、putty等,可以通過ssh來遠端連線伺服器,但這用於寫程式碼並不方便,可能需要現在本地寫好程式碼後再將原始碼傳送到伺服器執行、伺服器上的圖片也無法直接檢視…

而vscode可以很好的解決這些問題,它的核心元件都執行在遠端環境中,原生的開發機器完全不需要擁有遠端開發環境的原始碼,在vscode上編寫程式碼可以直接同步更新到伺服器上,給你帶來絲滑般的遠端開發體驗。

所以這篇文章教學,我們將通過vscode實現遠端開發,並做內網穿透實現在公網環境下的遠端連線,在外任意地方也可以遠端連線伺服器進行開發寫程式碼。

1、安裝OpenSSH

開啟Windows開始頁面,直接進行搜尋PowerShell,開啟第一個Windows PowerShell,點選以管理員身份執行

開啟之後,輸入以下指令:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

此時出現的結果就是電腦裡沒有安裝OpenSSH的情況:

如果已經安裝了OpenSSH那麼跳過這一步,沒有安裝的話則輸入以下指令

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

最終結果為如下,則代表著OpenSSH安裝成功:

顯示OpenSSH安裝成功後,在開啟本地cmd進入之後輸入命令ssh

ssh

如果顯示的是這樣結果的話,則說明正確:

2、vscode設定ssh

在windows上安裝vscode,安裝成功後並開啟。

點選左側工具列中的擴充套件,搜尋“ssh”,選擇第一個Remote - SSH進行安裝(我已經安裝過了,所有此時顯示的是禁用狀態)

點選左下角的“設定”按鈕,緊接著點選“設定”

根據截圖的提示,找到Show Login Terminal並勾選該選項

點選左側工具列中的遠端按鈕,可以檢視遠端連線,點選SSH TARGETS下面顯示的伺服器旁邊的按鈕進行連線操作

3. 區域網測試連線遠端伺服器

以ssh連線ubuntu為例,開啟vscode後,先嚐試使用區域網地址ssh遠端ubuntu

輸入命令到對話方塊中,並回車

ssh  username@ip

選擇一個組態檔

輸入完成在右側會顯示出來剛剛新增的ssh 連線,點選 -->圖示 連線,出現輸入密碼,輸入密碼即可

出現綠色標誌表示連線成功

4. 公網遠端連線

目前我們只能在區域網內進行遠端,具有一定的侷限性。不過我們通過內網穿透來實現在公網環境下的遠端連線。這裡我們藉助工具cpolar內網穿透來實現,無需公網IP,也不用設定路由器,操作簡單。

cpolar官網:https://www.cpolar.com/

4.1 ubuntu安裝cpolar

本次教學我們使用的是ubuntu 圖形化系統,我們需要先在ubuntu上安裝設定cpolar,支援一鍵自動安裝指令碼。

國內安裝

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

或 cpolar短連結安裝方式:(國外使用)

curl -sL https://git.io/cpolar | sudo bash

檢視版本號,正常顯示即為安裝成功

cpolar version

token認證

登入cpolar官網後臺,點選左側的驗證,檢視自己的認證token,之後將token貼在命令列裡

cpolar authtoken xxxxxxx

簡單穿透測試

cpolar http 8080

有正常生成相應的公網地址,按ctrl+c退出

向系統新增服務

sudo systemctl enable cpolar

啟動cpolar服務

sudo systemctl start cpolar

檢視服務狀態,顯示如下圖所示為active則為已啟動狀態

sudo systemctl status cpolar

cpolar安裝並設定完成後,在瀏覽器上存取本地9200埠,使用cpolar郵箱賬號登入cpolar web UI管理介面

cpolar安裝成功後,預設會安裝2條樣例隧道,可以自行編輯或者刪減:

  • ssh隧道:指向本地22埠,TCP協定
  • website隧道:指向本地8080埠,HTTP協定

4.2 建立隧道對映

我們可以直接使用樣例隧道ssh,或者重新建立一個隧道,使用tcp協定,指向22埠。點選左側儀表盤的隧道管理——建立隧道

  • 隧道名稱:可自定義,注意不要重複
  • 協定:tcp
  • 本地地址:22
  • 埠型別:隨機臨時TCP埠
  • 地區:China vip

點選建立

隧道建立成功後,點選左側的狀態——線上隧道列表,可以看到,剛剛建立的隧道已經有生成了相應的公網地址,將其複製下來

4.3 測試公網遠端連線

在windows上開啟vscode,使用所複製的公網地址來遠端SSH。

點選SSH TARGETS下面顯示的伺服器旁邊的按鈕進行連線操作

如左側沒有出現新增的連線,點如下按鈕重新整理

接著點選小箭頭 --> 連線,出現選擇ssh 型別,選擇linux

輸入引數,和密碼即可遠端成功,方便快捷。

出現以下資訊表示遠端連線成功

5. 設定固定TCP埠地址

由於以上所建立的隧道選擇的是隨機臨時TCP埠,所生成的公網地址會在24小時內隨機變化,對於需要長期遠端的使用者來講不方便。不過我們可以為其設定固定的地址進行遠端連線,後續遠端無需先檢視隨機公網地址再進行遠端。

注意:設定固定TCP埠地址功能需要升級至專業版套餐或以上才支援。

5.1 保留一個固定TCP埠地址

開啟cpolar官網,登入到官網後臺https://dashboard.cpolar.com/reserved,點選左側的預留,我們來保留一個固定TCP埠地址:

  • 地區:選擇china
  • 描述:即備註,可自定義

地址保留成功後,系統會生成相應的固定公網地址,將其複製下來

5.2 設定固定TCP埠地址

在ubuntu系統上開啟瀏覽器存取本地9200埠,登入cpolar web UI管理介面。點選左側的隧道管理——隧道列表,找到ssh隧道,點選右側的編輯,我們來修改隧道資訊,將固定tcp埠地址設定到隧道中

修改隧道資訊,將保留成功的固定tcp地址設定到隧道中

  • 埠型別:修改為固定tcp埠
  • 預留的tcp地址:填寫保留成功的地址

點選更新

隧道更新成功後,點選左側儀表盤的狀態——線上隧道列表,找到SSH隧道,可以看到公網地址已經更新成為了固定tcp地址。

5.3 測試固定公網地址遠端

開啟vscode,選擇新增一個ssh連線

使用保留的tcp地址連線

重新整理一下

刷新出來地址,點選右邊小箭頭”–>”連線,出現以下提示,輸入yes

出現綠色資訊,表示連線成功。

到此這篇關於vscode遠端開發使用SSH遠端連線伺服器 「內網穿透」的文章就介紹到這了,更多相關vscode使用SSH遠端連線伺服器內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com