VScode 的遠(yuǎn)程開發(fā),體驗(yàn)后爽翻
因?yàn)槭且h(yuǎn)程登錄,那么需要通過使用ssh進(jìn)行密鑰對(duì)登錄,這樣每次登錄服務(wù)器就可以不用輸入密碼了。
先來一句官方介紹:
ssh 公鑰認(rèn)證是一種方便、高安全性的身份驗(yàn)證方法,它將本地“私有”密鑰與遠(yuǎn)程主機(jī)上與用戶關(guān)聯(lián)的“公共”密鑰進(jìn)行匹配,從而實(shí)現(xiàn)免密登錄。
接下來介紹如何生成密鑰并將其添加到遠(yuǎn)程主機(jī)。
我是linux用戶,就只介紹linux下的配置哈,mac和Windows用戶可以查看 官方文檔。
1、首先檢查本地是否有已生成ssh密鑰對(duì),Linux用戶查看是否存在公鑰文件 ~/.ssh/id_rsa.pub和私鑰文件~/.ssh/id_rsa。
如果沒有,則用如下命令生成,一路回車即可:
ssh-keygen -t rsa -b 4096
2、然后將本地公鑰文件id_rsa.pub 的內(nèi)容添加到遠(yuǎn)程主機(jī)用戶目錄下 .ssh 文件夾內(nèi)名為 authorized_keys 的文件中。
不用去復(fù)制粘貼,使用命令ssh-copy-id來完成,輸出結(jié)果如下:
~$ ssh-copy-id remote_user@remote_id
/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
remote_user@remote_id's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'remote_user@remote_id'"
and check to make sure that only the key(s) you wanted were added.
操作完后登錄服務(wù)器就可以不用輸入密碼了,你們可以取試試。
在VS code中,使用ctrl+shift+x快捷鍵打開插件搜索窗口,輸入插件Remote Development,并點(diǎn)擊安裝。
使用cmd+shift+p快捷鍵打開命令輸入窗口,輸入Remote-SSH:Connect to Host...,第一次使用時(shí)需要選擇Add New SSH Host配置一下,myserver是我自己配置的,選擇這個(gè)就可以直接登錄服務(wù)器了。
然后就照著如下格式輸入登錄服務(wù)器的命令:
-A 表示開啟認(rèn)證代理連接轉(zhuǎn)發(fā)功能,其實(shí)我也不知道啥意思......
輸入完成后選擇第一個(gè)配置文件:
右下角出現(xiàn)如下提示表示成功:
這一步就算完成了,我再多說兩句。
上一步是把登錄服務(wù)器的信息添加到配置文件.ssh/config中的,該文件格式為:
Host alias
HostName host_id
User user_name
Port 22
ForwardAgent yes
HostName:遠(yuǎn)程主機(jī)的IP地址
User:遠(yuǎn)程主機(jī)的用戶名
port:遠(yuǎn)程主機(jī)的端口號(hào),不填寫的話,ssh默認(rèn)端口號(hào)為22,如果要用其他端口號(hào),可以在這里更改
ForwardAgent:這個(gè)是VS code自己添加的,可以不用管
上面配置文件第一行Host alias,我們可以將alias更改為任何別名,因?yàn)槲覀兤綍r(shí)登錄服務(wù)器使用的命令為ssh name@server_id,如果記不住服務(wù)器IP地址,則可以設(shè)置別名來方便記憶。
比如我第一行為Host myserver,則登錄服務(wù)器時(shí)使用命令ssh myserver即可。
最后再接著使用cmd+shift+p快捷鍵打開命令輸入窗口,輸入Remote-SSH:Connect to Host...,選擇你配置的那個(gè)別名即可連接到服務(wù)器。
也可以通過如下方式連接服務(wù)器:
會(huì)新彈出VS code窗口,左下邊多了一個(gè)遠(yuǎn)程圖標(biāo),表示處于遠(yuǎn)程模式。
連接成功后,通過File->Open->File/Folder打開文件或者文件夾,然后就可以像編輯本地文件一樣編輯遠(yuǎn)程文件了。
最后啰嗦一句,當(dāng)使用 ssh name@server_id 遠(yuǎn)程登錄服務(wù)器時(shí),出現(xiàn)錯(cuò)誤提示:Permission denied (publickey).
這是因?yàn)榉?wù)器默認(rèn)禁用了ssh密碼登錄權(quán)限。修改方法如下:
在服務(wù)器上的終端輸入:sudo vim /etc/ssh/sshd_config,打開該文件。
找到PasswordAuthentication,將其后的 no 改為 yes。
重啟ssh服務(wù):sudo service sshd restart
然后就可以進(jìn)行遠(yuǎn)程開發(fā)啦,我也是剛用這個(gè)功能,以后遇到什么坑再進(jìn)行補(bǔ)充。
關(guān)鍵是連接上以后,打開文件夾就是打開的是遠(yuǎn)程目錄的文件夾。這是最方便的。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。