最近一直在Windows主機(jī)環(huán)境下的VM虛擬機(jī)Linux中玩兒好玩兒的,,一直用ssh,不太想折騰VIM了,,,嘗試一下VSCode 的Remote Development
擴(kuò)展,這個(gè)擴(kuò)展還是微軟自己寫的.
安裝擴(kuò)展
安裝Remote Development
擴(kuò)展,其它的Remote-SSH會(huì)自動(dòng)安裝,若不自動(dòng)安裝,請(qǐng)手動(dòng)按照截圖安裝.
安裝完成后,點(diǎn)擊左下角,就可以出現(xiàn)如圖的命令.這表示擴(kuò)展已經(jīng)安裝完成
配置
Linux上需要安裝ssh服務(wù)器,,,這個(gè)是必須的,需要支持 用戶名/密碼 或 密鑰 方式,在配置之前,,您需要保證在命令行正常連接上linux
注意: 如果命令行提示ssh命令不存在,請(qǐng)安裝git,或者open-ssh,并把ssh.exe所在的目錄添加到環(huán)境變量中,繼續(xù)下去之前,,請(qǐng)確保您已經(jīng)可以實(shí)現(xiàn)上圖(通過(guò)cmd命令行執(zhí)行ssh,連接linux)**
上面提到過(guò),,在VSCode中我們也可以通過(guò)用戶名密碼或者密鑰認(rèn)證連接到Linux.我們分別來(lái)實(shí)現(xiàn)
用戶名/密碼認(rèn)證
配置用戶名/密碼認(rèn)證 需要編輯一下VSCode的settings.json文件,打開的方式如下圖,點(diǎn)擊設(shè)置,滑動(dòng)鼠標(biāo),找到任意一個(gè)在settings.json中編輯
點(diǎn)進(jìn)去就行
. 添加 "remote.SSH.showLoginTerminal": true
,
陰影部分為新添加的(注意逗號(hào))
配置完成后,可以開始我們的連接了.
根據(jù)圖片順序打開config文件,并編輯,,,要注意該文件所在的目錄(每個(gè)人的用戶名可能有所不同),因?yàn)橐粫?huì)兒還會(huì)用到.
彈出一個(gè)新窗口,根據(jù)提示,輸入linux的密碼
輸密碼,輸密碼......直到出現(xiàn)
已經(jīng)連接上了 文件->打開文件夾(或者文件),可以顯示出linux的文件夾(或者文件)..
提示輸入密碼的時(shí)候,,就輸密碼,,,一直輸一直爽.
根據(jù)提示,,這個(gè)shell不要關(guān)閉...關(guān)閉連接就斷了.....
根據(jù)上面的步驟,相信已經(jīng)成功的連接上linux了.但是我們發(fā)現(xiàn),每次輸入密碼簡(jiǎn)直太太太...煩人了.并且需要輸入好幾次,有沒有好一點(diǎn)的方法呢,當(dāng)然有!,那就是采用公鑰.
密鑰認(rèn)證
首先,,我們用cmd切換到我們編輯主機(jī)config文件所在的目錄,,用戶名/密碼認(rèn)證中提到過(guò)的..類似下圖(由于每個(gè)人用戶名不一樣,所以會(huì)有些區(qū)別)
執(zhí)行ssh-keygen
,如果ssh命令可以正常執(zhí)行,,這個(gè)也可以.
確認(rèn)下目錄,,一路回車即可! 完成后多了id_rsa,id_rsa.pub兩個(gè)文件.
我們需要將id_rsa.pub 文件,復(fù)制一份到linux服務(wù)器上~/.ssh/
目錄下(注意,這個(gè)需要是您遠(yuǎn)程登陸的賬戶),若沒有該目錄,請(qǐng)執(zhí)行mkdir ~/.ssh
創(chuàng)建,然后將id_rsa.pub,遠(yuǎn)程傳輸?shù)皆撃夸浵?
然后切換到該目錄下,執(zhí)行cat id_rsa.pub >> authorized_keys
,
執(zhí)行完上述操作前,請(qǐng)確認(rèn)/etc/ssh/sshd_config文件下的PubkeyAuthentication yes
,AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
,兩條是不是正常,若有注釋,請(qǐng)取消,若不相同,請(qǐng)修改或者添加
修改完成后,重啟linux的ssh服務(wù).
然后回到Windows的命令行
執(zhí)行ssh (用戶名)@192.168.160.132
,括號(hào)中的請(qǐng)?zhí)鎿Q為您的Linux用戶名,請(qǐng)一定要按照這種格式登陸,一定要輸入用戶名和IP,不要只輸IP
這次登陸,驚喜的發(fā)現(xiàn) *不需要輸入密碼了?,,,如果還需要輸入密碼,,那就檢查一下哪里沒有做對(duì).
現(xiàn)在,可以用VSCode連接試試了
稍等一下,,自動(dòng)使用公鑰認(rèn)證.不需要輸密碼就可以直接使用了!