在Windows下配置Linux遠端開發環境
阿新 • • 發佈:2021-03-31
# 在Windows下配置Linux遠端開發環境
歡迎光臨我的個人部落格 https://chens.life/
## 前言
由於需要,我從之前的 kubuntu 又換到了 Windows10。不得不感嘆,Windows的圖形介面用著真的舒服,可是我Linux開發環境怎麼辦。搜尋了一下,發現使用 vscode 的遠端開發套件`Remote Development extension pack` 加上 Linux 虛擬機器是一個近乎完美的方案。本文僅作參考,希望能幫助到他人。
本文不再介紹如何安裝和配置 Linux虛擬機器,如有需要請自行百度。
## 支援的Linux發行版
遠端開發套件所支援的Linux發行版是有限的,不同發行版所支援的功能完善程度不同,詳情檢視[官網](https://code.visualstudio.com/docs/remote/linux#_tips-by-linux-distribution)
本次我使用的是 ubuntu-20.04.2-live-server-amd64,ubuntu和centos都可以完美的支援。
## 系統需求
### 本機
本機 Windows 10 需要安裝:
1. 安裝 [Git](https://git-scm.com/download)
2. 安裝 [Visual Studio Code](https://code.visualstudio.com/)
3. 安裝vscode [Remote Development extension pack](https://aka.ms/vscode-remote/download/extension) 外掛
### 遠端機器
遠端 Linux虛擬機器 條件:
| 發行版型別 | 基本需求 | SSH 需求 |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------- |
| Ubuntu 16.04+, Debian 8+, Raspbian Stretch/9+ downstream distributions | `libc6` `libstdc++6` `python-minimal` `ca-certificates` `tar` | `openssh-server` `bash` `curl` 或者 `wget` |
| RHEL / CentOS 7+ | `glibc` `libgcc` `libstdc++` `python` `ca-certificates` `tar` | `openssh-server` `bash` `curl` 或者 `wget` |
其他發行版或詳細資訊請見[官網](https://code.visualstudio.com/docs/remote/linux#_remote-host-container-wsl-linux-prerequisites)
## 配置vscode Remote.SSH.Path
由於本地的openssh與遠端主機可能會有命令上的差異,所以要把這裡的 ssh 路徑修改為自己的。
在 `File Perference Setting`中搜索 `remote.ssh.path`,將路徑改為自己的路徑。
![image-20210331002753969](https://pic.chens.life/images/2021/03/31/20210331002754.png#vwid=1209&vhei=372)
## 配置 vscode remote.ssh:use local server
如果遠端Linux主機不在本地網路中,例如想要在阿里雲上部署環境,則需要在 `Remote.SSH:Use Local Server`取消勾選:point_down:
![image-20210331102401783](https://pic.chens.life/images/2021/03/31/20210331102401.png#vwid=1361&vhei=388)
## 連線遠端主機
使用vscode中的 Remote Explorer,選擇 SSH Target,點選加號新增遠端主機。
![image-20210331101958654](https://pic.chens.life/images/2021/03/31/20210331101958.png#vwid=385&vhei=424)
輸入要登陸的使用者名稱和地址,例如 `ssh [email protected]`
![image-20210331102836928](https://pic.chens.life/images/2021/03/31/20210331102836.png#vwid=751&vhei=97)
選擇本機ssh設定,選擇第一個使用者設定。Windows10預設安裝了openssh,如果沒有,則需要自行安裝,這裡提供[參考連結](https://www.jianshu.com/p/f8ba3e51d60e)。
![image-20210331103216751](https://pic.chens.life/images/2021/03/31/20210331103216.png#vwid=747&vhei=187)
新增成功之後,該伺服器會在列表中出現。點選它進行連線。
![image-20210331103504618](https://pic.chens.life/images/2021/03/31/20210331103504.png#vwid=381&vhei=423)
選擇作業系統型別,這裡選擇Linux。
![image-20210331103604461](https://pic.chens.life/images/2021/03/31/20210331103604.png#vwid=746&vhei=136)
繼續。
![image-20210331103635871](https://pic.chens.life/images/2021/03/31/20210331103635.png#vwid=749&vhei=138)
輸入使用者密碼,之後即連線成功!
![image-20210331103708108](https://pic.chens.life/images/2021/03/31/20210331103708.png#vwid=747&vhei=105)
我們可以在這裡選擇要開啟的資料夾。
![image-20210331103839862](https://pic.chens.life/images/2021/03/31/20210331103839.png#vwid=1369&vhei=431)
之前在本地安裝的外掛,也要在遠端主機上安裝一遍。
![image-20210331104023080](https://pic.chens.life/images/2021/03/31/20210331104023.png#vwid=372&vhei=268)
## 免密登入
會發現,每次進行連線的時候都需要輸入一遍密碼,這樣很是麻煩。想要使用ssh金鑰免密登入,可以參考我之前的文章。
[openSSH實現免密登入](https://chens.life/Realize-password-free-login-in-openSSH.html)
## 刪除遠端主機
vscode上面沒有刪除按鈕,如果需要刪除,則需要修改ssh的config配置。就在 `.ssh/config`,路徑名因人而異。
刪除不需要的主機即可。
![image-20210331105406131](https://pic.chens.life/images/2021/03/31/20210331105406.png#vwid=524&vhei=268)
## 參考文件
- https://code.visualstudio.com/docs/remote/linux
- https://code.visualstudio.com/docs/rem