最近一直在Windows主機環境下的VM虛擬機Linux中玩兒好玩兒的,,一直用ssh,不太想折騰VIM了,,,嘗試一下VSCode 的Remote Development
擴展,這個擴展仍是微軟本身寫的.linux
安裝Remote Development
擴展,其它的Remote-SSH會自動安裝,若不自動安裝,請手動按照截圖安裝.git
安裝完成後,點擊左下角,就能夠出現如圖的命令.這表示擴展已經安裝完成shell
Linux上須要安裝ssh服務器,,,這個是必須的,須要支持 用戶名/密碼 或 密鑰 方式,在配置以前,,您須要保證在命令行正常鏈接上linuxjson
注意: 若是命令行提示ssh命令不存在,請安裝git,或者open-ssh,並把ssh.exe所在的目錄添加到環境變量中,繼續下去以前,,請確保您已經能夠實現上圖(經過cmd命令行執行ssh,鏈接linux)服務器
上面提到過,,在VSCode中咱們也能夠經過用戶名密碼或者密鑰認證鏈接到Linux.咱們分別來實現ssh
配置用戶名/密碼認證 須要編輯一下VSCode的settings.json文件,打開的方式以下圖,點擊設置,滑動鼠標,找到任意一個在settings.json中編輯
點進去就行命令行
. 添加 "remote.SSH.showLoginTerminal": true
,3d
陰影部分爲新添加的(注意逗號)code
配置完成後,能夠開始咱們的鏈接了.blog
根據圖片順序打開config文件,並編輯,,,要注意該文件所在的目錄(每一個人的用戶名可能有所不一樣),由於一下子還會用到.
彈出一個新窗口,根據提示,輸入linux的密碼
輸密碼,輸密碼......直到出現
已經鏈接上了 文件->打開文件夾(或者文件),能夠顯示出linux的文件夾(或者文件)..
提示輸入密碼的時候,,就輸密碼,,,一直輸一直爽.
根據提示,,這個shell不要關閉...關閉鏈接就斷了.....
根據上面的步驟,相信已經成功的鏈接上linux了.可是咱們發現,每次輸入密碼簡直太太太...煩人了.而且須要輸入好幾回,有沒有好一點的方法呢,固然有!,那就是採用公鑰.
首先,,咱們用cmd切換到咱們編輯主機config文件所在的目錄,,用戶名/密碼認證中提到過的..相似下圖(因爲每一個人用戶名不同,因此會有些區別)
執行ssh-keygen
,若是ssh命令能夠正常執行,,這個也能夠.
確認下目錄,,一路回車便可! 完成後多了id_rsa,id_rsa.pub兩個文件.
咱們須要將id_rsa.pub 文件,複製一份到linux服務器上~/.ssh/
目錄下(注意,這個須要是您遠程登錄的帳戶),若沒有該目錄,請執行mkdir ~/.ssh
建立,而後將id_rsa.pub,遠程傳輸到該目錄下.
而後切換到該目錄下,執行cat id_rsa.pub >> authorized_keys
,
執行完上述操做前,請確認/etc/ssh/sshd_config文件下的PubkeyAuthentication yes
,AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
,兩條是否是正常,如有註釋,請取消,若不相同,請修改或者添加
修改完成後,重啓linux的ssh服務.
而後回到Windows的命令行
執行ssh (用戶名)@192.168.160.132
,括號中的請替換爲您的Linux用戶名,請必定要按照這種格式登錄,必定要輸入用戶名和IP,不要只輸IP
此次登錄,驚喜的發現 **不須要輸入密碼了?*,,,若是還須要輸入密碼,,那就檢查一下哪裏沒有作對.
如今,能夠用VSCode鏈接試試了
稍等一下,,自動使用公鑰認證.不須要輸密碼就能夠直接使用了!