在沒有互聯(lián)網(wǎng)的環(huán)境下使用 remote-ssh

remote-ssh 的安裝可以參考前一篇博客

remote-ssh vs samba

最近在菊廠實(shí)習(xí). 發(fā)現(xiàn)一個(gè)和 remote-ssh 提供相似功能的軟件: samba.
這個(gè)軟件可以將服務(wù)器上的文件夾映射成本地的windows機(jī)器上的一個(gè)磁盤. 功能和vmware提供的共享文件夾差不多.

remote-shh 和 samba 各有優(yōu)缺點(diǎn). 個(gè)人感覺 remote-ssh 更方便開發(fā). 而 samba更方便文件共享

一個(gè)簡單的對(duì)比:

優(yōu)點(diǎn) 缺點(diǎn)
samba 文件共享更方便 1. 對(duì)開發(fā)不太友好. 頭文件, python 庫都識(shí)別不了;
2. 配置比較麻煩
remote-ssh 1. 開發(fā)體驗(yàn)很好. 頭文件, python 庫. shell 都和服務(wù)器上的環(huán)境一致;
2. 可以配合vscode的眾多拓展;
3. 配置簡單;
1. 目前還在開發(fā)中, 問題很多;
2. 文件共享的問題配合mobaXterm也夠用了

一些問題

可能因?yàn)檫€不是正式版吧. 現(xiàn)在問題還是挺多的. 官方的倉庫里issue也是一大堆.

我運(yùn)氣還不錯(cuò), 沒有遇到太多坑. 但是還是有兩點(diǎn)讓我用著有點(diǎn)不舒服.

  1. 只能在 vscode-insider 版里面用. 導(dǎo)致我僅僅為了使用 remote-ssh 就得多安裝一個(gè)軟件, 以及一堆插件.
  2. 這個(gè)插件是由兩部分構(gòu)成的. 一部分在本地, 一部分在要連接的服務(wù)器上. 本地連服務(wù)器的時(shí)候經(jīng)常要重新下載服務(wù)器端的程序. 而且感覺下載的時(shí)機(jī)很隨機(jī). 遇到過一天就下兩次的情況. 這就導(dǎo)致有時(shí)候沒有網(wǎng)絡(luò)(比如某些斷網(wǎng)比賽...)又要用 remote-ssh 要是遇到這種情況就會(huì)很尷尬.

1. 在正式版里用 remote-ssh

在正式版的vscode里如果直接在應(yīng)用商店里安裝 remote-ssh 拓展會(huì)被告知拓展只支持vscode-insider

但是我發(fā)現(xiàn)如果使用vsix安裝包是可以在vscode里面安裝 remote-ssh 的.

插件可以安裝, 但無卵用

我一度以為可以繞過版本檢查了. 但是當(dāng)我連接服務(wù)器的時(shí)候:

服務(wù)器也會(huì)進(jìn)行版本檢查

大概看了下. 服務(wù)器端是用node.js寫的. 我也不懂, 懶得折騰了. 老老實(shí)實(shí)等正式版吧.

感興趣的師傅可以看一下能不能繞過. 可以用下面的命令下載壓縮包. 解壓之后就是服務(wù)器端的代碼

wget -nv -O vscode-server-linux-x64.tar.gz https://update.code.visualstudio.com/commit:daf71423252a707b8e396e8afa8102b717f8213b/server-linux-x64/insider

順便提供一下vsix下載地址(頁面右側(cè)的Download Extension鏈接)

2. 在沒有網(wǎng)的環(huán)境里下用 remote-ssh

菊廠工作用的所有機(jī)器都在內(nèi)網(wǎng)里面. 要訪問外網(wǎng)就得配置各種代理.

而 remote-ssh 安裝服務(wù)端的時(shí)候需要聯(lián)網(wǎng)下載安裝包. 這種情況配一下代理可能麻煩一點(diǎn)但是還是能解決問題的. 但是遇到?jīng)]網(wǎng)的情況就gg了.

而且這種情況還是挺普遍的.

這個(gè)issue里面很多人就提出了希望remote-ssh可以支持在完全沒有網(wǎng)絡(luò)連接的環(huán)境下運(yùn)行. 我看到開發(fā)人員也說之后會(huì)考慮這個(gè)需求. 但是啥時(shí)候能實(shí)現(xiàn)就不知道了(not at this time.)

不過評(píng)論區(qū)有個(gè)大佬就提出了一個(gè)解決方案. 我經(jīng)過測試確實(shí)可行. 在這兒分享一下.

之前說過remote-ssh分為兩個(gè)部分. 本機(jī)和服務(wù)端. 本機(jī)的安裝就不多說了. 下載vsix 然后在vscode insider 里面 extension: install from vsix 即可

本地端從vsix文件安裝

ps: 網(wǎng)上很多博客提到在命令行里安裝vsix. 我是沒有成功.

然后就是服務(wù)器端了.

我們先下載好服務(wù)器端的壓縮包并上傳到服務(wù)器上(注意處理器架構(gòu))
下載地址: https://update.code.visualstudio.com/commit:daf71423252a707b8e396e8afa8102b717f8213b/server-linux-x64/insider

然后需要修改一下本地端的代碼. 把下載的代碼替換為 cp
代碼文件就是C:\Users\用戶名\.vscode\extensions\ms-vscode-remote.remote-ssh-version\extension.json

將其中的

wget -nv -O vscode-server-linux-x64.tar.gz https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/${t}

替換為

cp 之前下載的壓縮包的路徑  .

然后之后連接就會(huì)直接復(fù)制. 而不是重新下載了. 不過這么做的缺點(diǎn)就是如果遇到更新就得手動(dòng)更新了.


update: 2019-08-05
這個(gè)插件還會(huì)檢測客戶端(vscode)和服務(wù)端(服務(wù)器)的版本是否一致, 所以還需要在 vscode 中禁用插件的自動(dòng)更新.
在 settings.json 添加如下行即可

"extensions.autoUpdate": false

大佬的原話如下:

jlugjb commented on 7 May
I also has the similar problem.
manual solve, only for ssh mode

step 1: download the vscode-server

wget -nv -O vscode-server-linux-x64.tar.gz https://update.code.visualstudio.com/commit:daf71423252a707b8e396e8afa8102b717f8213b/server-linux-x64/insider

step 2: copy vscode-server-linux-x64.tar.gz to direction /

cp vscode-server-linux-x64.tar.gz /vscode-server-linux-x64.tar.gz

step 3: modify C:\Users\administrator.vscode-insiders\extensions\ms-vscode-remote.remote-ssh-0.35.0\out\extension.js

search "wget -nv -O vscode-server-linux-x64.tar.gz https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/${t}"

replace it with "cp /vscode-server-linux-x64.tar.gz ."

then retry connected, it's ok.

這個(gè)插件目前還在開發(fā)中, 迭代的很快, 所以有條件的話最好是一直跟著更新. 如果使用上面的方法禁用更新的話最好也要定期手動(dòng)更新一下. 希望正式版中會(huì)考慮上面的應(yīng)用場景吧, 就不用再自己瞎折騰了.

結(jié)語

希望正式版能快點(diǎn)出來吧, 就不用再折騰這些亂七八糟的東西了 :P

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蝶棋,一起剝皮案震驚了整個(gè)濱河市铡恕,隨后出現(xiàn)的幾起案子缺狠,更是在濱河造成了極大的恐慌尖淘,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件倡勇,死亡現(xiàn)場離奇詭異逞刷,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)妻熊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門夸浅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人扔役,你說我怎么就攤上這事帆喇。” “怎么了亿胸?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵坯钦,是天一觀的道長预皇。 經(jīng)常有香客問我,道長婉刀,這世上最難降的妖魔是什么吟温? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮突颊,結(jié)果婚禮上鲁豪,老公的妹妹穿的比我還像新娘。我一直安慰自己律秃,他們只是感情好爬橡,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著友绝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪肝劲。 梳的紋絲不亂的頭發(fā)上迁客,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音辞槐,去河邊找鬼掷漱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛榄檬,可吹牛的內(nèi)容都是我干的卜范。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼鹿榜,長吁一口氣:“原來是場噩夢啊……” “哼海雪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起舱殿,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤奥裸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后沪袭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體湾宙,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年冈绊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了侠鳄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡死宣,死狀恐怖伟恶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情毅该,我是刑警寧澤知押,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布叹螟,位于F島的核電站,受9級(jí)特大地震影響台盯,放射性物質(zhì)發(fā)生泄漏罢绽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一静盅、第九天 我趴在偏房一處隱蔽的房頂上張望良价。 院中可真熱鬧,春花似錦蒿叠、人聲如沸明垢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽痊银。三九已至,卻和暖如春施绎,著一層夾襖步出監(jiān)牢的瞬間溯革,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國打工谷醉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留致稀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓俱尼,卻偏偏與公主長得像抖单,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子遇八,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351