vscode配置遠程開發環境

  • 2019 年 12 月 20 日
  • 筆記

一、為什麼需要配置遠程開發環境

1.1、編輯IDE和開發環境的系統隔離

在遠端的服務器Linux系統沒有IDE界面,vscode界面部署在個人電腦。通常大多數的開發和編輯環境都是系統隔離的。

比如說你用win10機器開啟ssh客戶端連接CentOS開發機,這時候你的編輯IDE和開發環境是隔離的。表現在你在代碼編輯不會實時刷新到開發環境進行編譯測試驗證。

當然假如個人電腦使用Win10,也可以用使用win10提供的wsl(Window Subsystem for Linux)。但是此時也是vscode不能像隨意打開本地文件夾一樣打開WSL的代碼。

1.2、系統隔離打通

其實打通系統隔離的方法有挺多的。比如說用samba共享服務器,還比如說用git做同步,編輯這邊提交更改,開發環境那邊pull下來。

如果這兩個辦法都不能用呢,比如遠程開發機在外網ip,或者做了機器隔離,或者只開通了ssh接口登錄。所以這時需要做遠程開發環境的配置SSH通道開發。

二、配置遠程開發環境(SSH通道)

2.1 插件安裝

Remote-Development包括了連接SSH開發機、WSL、Container的套件。在vscode插件欄中搜索remote。

其中包括Remote-WSL、Remote-SSL、Remote-Container。這三個套件可以不用單獨安裝,只需要下載安裝Remote Development,就打包了以上三個插件。

圖1、remote插件

安裝完成之後在狀態欄出現這個小圖標。點擊可以喚醒遠程命令彈窗。

圖2、遠程開發圖標
圖3、遠程開發命令彈窗

這裡以最常用的連接ssh遠程開發機來示範怎麼配置環境

2.2 Remote SSH連接

圖4、遠程SSH命令彈窗

2.2.1 通過用戶密碼登錄開發機

在遠程SSH命令彈窗選擇「Remote-SSH: Connect to Host…」。在接下來的窗口輸入「用戶名@主機ip」。需要注意的是ip右邊不要保留空格。比如下面我輸入了[email protected]連接本地的一台vm虛擬機。

圖5、密碼登錄和公私鑰登錄

緊接着vscode會啟動win10的ssh客戶端,對遠端發起ssh連接。在接下來的彈窗中,輸入密碼。

圖6、輸入密碼彈窗

可能會彈出這個首次指紋不匹配確認(因為首次登錄,服務器沒有存儲客戶端登錄的驗證指紋),需要手動確認的彈窗,點擊continue即可。

圖7、登錄指紋手動確認彈窗

登錄成功後,狀態欄會出現遠端ip機器

圖8、登錄成功的狀態欄

2.2.2 通過公私鑰登錄

公私鑰的登錄原理是在客戶端機器和服務端機器建立ssh通道。這個通道建立依賴於非對稱加密原理。在服務端配置公鑰,客戶端持有私鑰。只有持有私鑰的認證客戶端(或者持有私鑰的用戶)才能夠登錄服務器。公私鑰替代密碼的方式便是這個連接的特性。

生成一對公私鑰:

圖9、生成一對公私鑰

把產生的公鑰對拷貝安裝到自己的本機,ssh-copy-id [email protected]ssh-copy-id 將本機的公鑰複製到遠程機器的authorized_keys文件中,ssh-copy-id安裝到遠程機器的home, ~./ssh , 和 ~/.ssh/authorized_keys。

下載私鑰到你的客戶端編輯機器。並存放在系統的某個路徑。

接下來就開始配置ssh連接配置。在原來那個界面選擇Add New SSH Host.

圖10、公私鑰登錄

接下來選擇一個config文件。點擊會打開這個config文件。

圖11、配置文件列表

編輯config文件。按照以下配置,或者自定義選項。

圖12 ssh公私鑰配置

保存編輯這個文件,接下來重新打開連接彈窗,就會出現這個ssh配置。

圖13 遠程ssh配置

已經連接上這個hostname的遠程開發機器

圖14、連接上的狀態欄

2.3打開遠端機器文件夾

連接上的窗口會出現類似的界面

圖15、遠程目錄

三、進階開發

附、擴展知識