最近一直在Windows主機環境下的VM虛擬機Linux中玩兒好玩兒的,,一直用ssh,不太想折騰VIM了,,,嘗試一下VSCode 的Remote Development
擴展,這個擴展還是微軟自己寫的.
安裝擴展
安裝Remote Development
擴展,其它的Remote-SSH會自動安裝,若不自動安裝,請手動按照截圖安裝.
安裝完成后,點擊左下角,就可以出現如圖的命令.這表示擴展已經安裝完成
配置
Linux上需要安裝ssh服務器,,,這個是必須的,需要支持 用戶名/密碼 或 密鑰 方式,在配置之前,,您需要保證在命令行正常連接上linux
注意: 如果命令行提示ssh命令不存在,請安裝git,或者open-ssh,並把ssh.exe所在的目錄添加到環境變量中,繼續下去之前,,請確保您已經可以實現上圖(通過cmd命令行執行ssh,連接linux)
上面提到過,,在VSCode中我們也可以通過用戶名密碼或者密鑰認證連接到Linux.我們分別來實現
用戶名/密碼認證
配置用戶名/密碼認證 需要編輯一下VSCode的settings.json文件,打開的方式如下圖,點擊設置,滑動鼠標,找到任意一個在settings.json中編輯
點進去就行
. 添加 "remote.SSH.showLoginTerminal": true
,
陰影部分為新添加的(注意逗號)
配置完成后,可以開始我們的連接了.
根據圖片順序打開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連接試試了
稍等一下,,自動使用公鑰認證.不需要輸密碼就可以直接使用了!