vscode?ssh遠程連接服務(wù)器的思考淺析
過往經(jīng)驗總結(jié)
注:筆者寫本文的目的不是完整細(xì)致地描述連接的全過程,而是記錄當(dāng)中遇到的現(xiàn)象、問題,及為什么會產(chǎn)生這個問題的分析。所以部分過程會省略,或者默認(rèn)讀者都是很熟悉各種操作的。
使用ssh遠程連接,要獲知目標(biāo)主機的ip地址,并使用正確的密碼或密鑰。
筆者之前曾嘗試過用不同的工具來連接服務(wù)器。 其中,
- putty和xshell本身就是支持多種連接協(xié)議的連接工具。 用它們連接很方便。輸入密碼就是嘗試建立連接時輸入用戶名之后再輸;輸入密鑰就是要找到該工具對應(yīng)的配置入口。一些字體大小、發(fā)送請求時長之類的參數(shù)設(shè)置也可以直接在工具界面找到。
- idea之類的IDE現(xiàn)在也有了remote ssh 的功能。這個ssh是IDE自帶的。 它連接簡單,傻瓜式操作。只需要在
新建項目界面,點擊遠程連接的按鈕,一步步往下就成功了。 但它有個特點,就是有點卡。這和它處理文件的機制有關(guān)系,后面會細(xì)說。
關(guān)于vscode
其實vscode本質(zhì)上只是一個編輯器,它強大的功能依托于各種可安裝的插件。 很多插件本質(zhì)上就是將 已有 的功能在vscode中以另一種形式展現(xiàn)出來。
舉個例子,小明還沒有在本機安裝git,那他安裝的和git有關(guān)的插件是不會生效的。同理,vscode的ssh本質(zhì)上是將電腦已有的ssh服務(wù)在vscode中呈現(xiàn)。如果連接不上,要么是插件本身有問題(基本排除,真有問題應(yīng)該很多人給差評了),要么是本機的ssh服務(wù)有問題,要么是參數(shù)設(shè)置有問題。
與ssh有關(guān)的兩個配置文件
.ssh/config 這是對單個ssh連接的配置信息,格式可參照如下:
Host <連接的主機名(可以自己取>
HostName <主機ip地址>
User <連接的用戶>
IdentityFile <認(rèn)證文件,也就是密鑰文件的路徑>
settings.json 這是對vscode的全局配置,其中也可以加入ssh相關(guān)的內(nèi)容,比如設(shè)置使用的ssh服務(wù)路徑。
報錯解決:ssh連接時提示管道不存在
問題
網(wǎng)上說是win10自帶的openssh的問題。
我在cmd上嘗試過直接使用該工具,發(fā)現(xiàn)會提示私鑰文件權(quán)限太大,故禁止連接。
由此確認(rèn)是本機ssh服務(wù)的問題。
解決方案
方案一:使用git中的ssh作為替代
- 找到該ssh的位置:在git中用
whereis ssh命令。(windows則進入git-bash來敲命令) - 在
settings.json中加入如下一行:"remote.SSH.path":<git路徑+git中ssh路徑的拼接體>,
保存后重啟vscode。
方案二:修改私鑰文件權(quán)限
網(wǎng)上有博客文章介紹過具體操作,總結(jié)來說就是鼠標(biāo)點按鈕一步步找到入口然后設(shè)置目標(biāo)主機對文件的訪問權(quán)限,同時禁止其他用戶的權(quán)限。不過我沒有用這種方式,因為我對windows自帶的openssh其實是不太放心的。
各方式遠程連接項目文件的性能對比
現(xiàn)象
- 同時打開多個putty/xshell終端以顯示項目文件沒問題
- 同時用多個vscode窗口打開項目也沒問題
- 同時用IDE打開兩個及以上項目文件會導(dǎo)致服務(wù)器死機
- 一個ide,再來一個vscode也不行
原因分析
- IDE比較耗性能,vscode更輕量
- 兩者對文件的同步方式不同。 當(dāng)連接中斷時,vscode上顯示的當(dāng)前項目文件也沒有了,但是idea上的還在,只是改了之后不能同步到遠程主機了。這說明,vscode只是將遠程終端上的內(nèi)容換種形式呈現(xiàn)出來,而idea則是在本地也備份了一份文件。
以上就是vscode ssh遠程連接服務(wù)器的思考淺析的詳細(xì)內(nèi)容,更多關(guān)于vscode ssh遠程連接服務(wù)器的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Git基礎(chǔ)學(xué)習(xí)之tag標(biāo)簽操作詳解
標(biāo)簽對象(tag?object)?非常類似于一個提交對象,它包含一個標(biāo)簽創(chuàng)建者信息、一個日期、一段注釋信息,以及一個指針。本文主要介紹了Git標(biāo)簽tag的一些基礎(chǔ)操作,需要的可以參考一下2022-10-10
全網(wǎng)最詳細(xì)的vscode基礎(chǔ)教程
vscode全稱為visual studio code,是微軟旗下一款非常優(yōu)秀的跨平臺代碼編輯軟件。vscode 中文版集成了大部分代碼編輯的器的優(yōu)點,集成GIT、代碼調(diào)試、語法高亮,擁有強大豐富的插件系統(tǒng)2020-01-01

