vscode?ssh遠(yuǎn)程連接服務(wù)器的思考淺析
過往經(jīng)驗(yàn)總結(jié)
注:筆者寫本文的目的不是完整細(xì)致地描述連接的全過程,而是記錄當(dāng)中遇到的現(xiàn)象、問題,及為什么會產(chǎn)生這個問題的分析。所以部分過程會省略,或者默認(rèn)讀者都是很熟悉各種操作的。
使用ssh遠(yuǎn)程連接,要獲知目標(biāo)主機(jī)的ip地址,并使用正確的密碼或密鑰。
筆者之前曾嘗試過用不同的工具來連接服務(wù)器。 其中,
- putty和xshell本身就是支持多種連接協(xié)議的連接工具。 用它們連接很方便。輸入密碼就是嘗試建立連接時輸入用戶名之后再輸;輸入密鑰就是要找到該工具對應(yīng)的配置入口。一些字體大小、發(fā)送請求時長之類的參數(shù)設(shè)置也可以直接在工具界面找到。
- idea之類的IDE現(xiàn)在也有了remote ssh 的功能。這個ssh是IDE自帶的。 它連接簡單,傻瓜式操作。只需要在
新建項(xiàng)目
界面,點(diǎn)擊遠(yuǎn)程連接
的按鈕,一步步往下就成功了。 但它有個特點(diǎn),就是有點(diǎn)卡。這和它處理文件的機(jī)制有關(guān)系,后面會細(xì)說。
關(guān)于vscode
其實(shí)vscode本質(zhì)上只是一個編輯器,它強(qiáng)大的功能依托于各種可安裝的插件。 很多插件本質(zhì)上就是將 已有
的功能在vscode中以另一種形式展現(xiàn)出來。
舉個例子,小明還沒有在本機(jī)安裝git,那他安裝的和git有關(guān)的插件是不會生效的。同理,vscode的ssh本質(zhì)上是將電腦已有的ssh服務(wù)在vscode中呈現(xiàn)。如果連接不上,要么是插件本身有問題(基本排除,真有問題應(yīng)該很多人給差評了),要么是本機(jī)的ssh服務(wù)
有問題,要么是參數(shù)設(shè)置
有問題。
與ssh有關(guān)的兩個配置文件
.ssh/config
這是對單個ssh連接的配置信息,格式可參照如下:
Host <連接的主機(jī)名(可以自己取>
HostName <主機(jī)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)是本機(jī)ssh服務(wù)的問題
。
解決方案
方案一:使用git中的ssh作為替代
- 找到該ssh的位置:在git中用
whereis ssh
命令。(windows則進(jìn)入git-bash來敲命令) - 在
settings.json
中加入如下一行:"remote.SSH.path":<git路徑+git中ssh路徑的拼接體>,
保存后重啟vscode。
方案二:修改私鑰文件權(quán)限
網(wǎng)上有博客文章介紹過具體操作,總結(jié)來說就是鼠標(biāo)點(diǎn)按鈕一步步找到入口然后設(shè)置目標(biāo)主機(jī)對文件的訪問權(quán)限,同時禁止其他用戶的權(quán)限。不過我沒有用這種方式,因?yàn)槲覍indows自帶的openssh其實(shí)是不太放心的。
各方式遠(yuǎn)程連接項(xiàng)目文件的性能對比
現(xiàn)象
- 同時打開多個putty/xshell終端以顯示項(xiàng)目文件沒問題
- 同時用多個vscode窗口打開項(xiàng)目也沒問題
- 同時用IDE打開兩個及以上項(xiàng)目文件會導(dǎo)致服務(wù)器死機(jī)
- 一個ide,再來一個vscode也不行
原因分析
- IDE比較耗性能,vscode更輕量
- 兩者對文件的同步方式不同。 當(dāng)連接中斷時,vscode上顯示的當(dāng)前項(xiàng)目文件也沒有了,但是idea上的還在,只是改了之后不能同步到遠(yuǎn)程主機(jī)了。這說明,vscode只是將遠(yuǎn)程終端上的內(nèi)容換種形式呈現(xiàn)出來,而idea則是在本地也備份了一份文件。
以上就是vscode ssh遠(yuǎn)程連接服務(wù)器的思考淺析的詳細(xì)內(nèi)容,更多關(guān)于vscode ssh遠(yuǎn)程連接服務(wù)器的資料請關(guān)注腳本之家其它相關(guān)文章!
- VSCode使用ssh密鑰免密遠(yuǎn)程登錄服務(wù)器的方法
- vscode使用remote-ssh免密連接服務(wù)器
- VSCODE使用ssh遠(yuǎn)程連接時啟動服務(wù)器失敗問題及解決方法
- VsCode配置ssh免密遠(yuǎn)程連接服務(wù)器的實(shí)現(xiàn)步驟
- open3d?通過vscode+ssh連接遠(yuǎn)程服務(wù)器將可視化界面本地顯示的問題
- vscode遠(yuǎn)程開發(fā)使用SSH遠(yuǎn)程連接服務(wù)器的方法「內(nèi)網(wǎng)穿透」
- vscode 多設(shè)備通過ssh登錄遠(yuǎn)程服務(wù)器免密登錄的解決方案
相關(guān)文章
一個批量編碼轉(zhuǎn)換及ASP/JS加解密/簡繁轉(zhuǎn)換的工具
一個批量編碼轉(zhuǎn)換及ASP/JS加解密/簡繁轉(zhuǎn)換的工具...2007-05-05git push 本地項(xiàng)目推送到遠(yuǎn)程分支的方法(git命令版)
這篇文章主要介紹了git push 本地項(xiàng)目推送到遠(yuǎn)程分支的方法(git命令版),需要的朋友可以參考下2020-09-09Clion ROS開發(fā)環(huán)境設(shè)置技巧
這篇文章主要介紹了Clion ROS開發(fā)環(huán)境設(shè)置技巧,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08網(wǎng)站開發(fā)中的文件存儲目錄結(jié)構(gòu)的探討
網(wǎng)站應(yīng)用中經(jīng)常會有文件存儲的需求,目錄結(jié)構(gòu)該怎么建才好呢?讓我們來做下分析2010-07-07解決git配置錯誤ssh:connect to host github.com
學(xué)習(xí)git時,可能會碰到遠(yuǎn)程倉庫連接問題,解決方法是確保.ssh目錄正確配置,首先,確認(rèn).ssh是隱藏文件夾,可通過ctrl+h顯示,然后,創(chuàng)建無后綴的config文件,并填寫正確的git郵箱賬號,最后,通過終端驗(yàn)證配置是否成功,這些步驟有助于解決git遠(yuǎn)程連接的常見問題2024-10-10