引言
對於windows下的用戶需要Linux下的編程環境,而又不想裝雙系統。可以采用遠程Linux的方式來彌補,遠程的Linux可以是你在本機上開的虛擬機,也可以是遠端的服務器,看個人情況來進行選擇。本人采用的是使用VirtualBox來創建一個Linux虛擬機,然后在windows物理機上使用遠程來開發。
配置遠程開發
首先來進行virtualbox的設置,設置->網絡->高級->端口轉發

請先在虛擬機上裝上ssh服務,我用的Ubuntu,直接用apt方式進行安裝
sudo apt install openssh-server
查看虛擬機上的ssh服務是否激活
sudo systemctl status ssh
如果顯示active(running)則顯示ssh服務正常運行
正常來說通過ssh遠程登陸都可通過下面指令來完成
ssh username@ipaddr -p port
# username : 對應linux上的用戶名
# ipaddr : 對應虛擬機上的ip地址
# port : 端口號
但是使用virtualbox有點不一樣,需要通過端口轉發,實際填寫的ip地址與平常有所出入,在windows下使用終端輸入以下命令(每個人的參數都不一樣,請自己根據實際情況填寫)
ssh ztq@127.0.0.1 -p 6666
如果登錄成功,那么就說明ssh操作成功,接下來只需要配置vscode的遠程操作了。
在vscode上下載remote-ssh這個插件,安裝成功后,編輯器的最左邊會出現一個電腦圖標。按下F1鍵,搜索ssh configuration,選擇配置文件的地址,按照上面命令行參數來填寫配置文件


填寫完成后,右鍵左邊的電腦圖標,遠程連接,順利的話會讓你輸入虛擬機系統的密碼來進行遠程登錄。
但我們會碰到一個問題,也就是我每次跟換文件夾或者重新登陸都需要輸入密碼,很不方便,如果能進行免密操作就好了,這就是接下來需要解決的問題
首先我們在Windows下下載Git Bash,下載完成后打開,然后輸入以下命令
ssh-keygen ## 一直回車知道結束
ssh-copy-id -i .ssh/id_rsa.pub username@hostname -p port ## 自己根據自己的實際參數填寫
如果你在Git Bash里面獲取到了如下類似回復,說明操作成功
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
ztq@127.0.0.1's password:
Number of key(s) added: 1
以后無論是遠程切換文件夾還是重新登錄都不在需要密碼,極其舒適。
