使用vscode的Remote Workspace管理遠(yuǎn)程機(jī)器的項(xiàng)目

剛好碰到部分框架不能在windows上運(yùn)行怎么辦,簡單粘姜。搞了個(gè)linux虛擬機(jī)繼續(xù)盤它;但是又有一個(gè)問題偿警,在linux里面修改代碼好麻煩,想用windows上的ide來調(diào)試linux里面的項(xiàng)目代碼怎么辦唯笙?

有這么幾個(gè)思路

  • 在linux項(xiàng)目目錄初始化一個(gè)git倉庫螟蒸,把代碼提交到遠(yuǎn)程倉庫,然后在windows的機(jī)器上拉取代碼崩掘,用git來進(jìn)行兩個(gè)機(jī)器上的代碼同步七嫌;
  • 用vscode中的remote workspace插件,通過sftp來獲取linux機(jī)器中的項(xiàng)目苞慢;

第一種思路很簡單诵原,就是在使用過程步驟比較繁瑣,想看到每次的修改都必須一端提交代碼挽放,另一端拉取代碼绍赛。

下面我們著重說第二種思路:

這里就不介紹sftp是什么東西了,不懂的請(qǐng)自行百度辑畦。

這里默認(rèn)linux已經(jīng)安裝了openssh(不確定有沒有安裝的點(diǎn)這里)和windows上已經(jīng)開啟了ssh

linux設(shè)置

建立用戶組和用戶

我們建立一個(gè)管理sftp的用戶組吗蚌,方便我們管理權(quán)限。

  1. 建立一個(gè)sftp-users的sftp用戶組
 sudo groupadd sftp-users
  1. 在sftp-users組下建立admin用戶
sudo useradd -g sftp-users -m admin
  1. 修改admin的密碼纯出,連續(xù)兩次輸入密碼就行
passwd admin

3.1. 如果admin用戶已經(jīng)存在蚯妇,但不在sftp-users組里,可以將第2步的admin換成其他任意的用戶名暂筝,或者箩言,可以移動(dòng)admin到sftp-users

usermod –g sftp_users admin

配置ssh和權(quán)限

  1. 打開/etc/ssh/sshd_config文件,修改配置文件之前最好備份一份源文件焕襟,出了問題也能還原回來陨收。
  2. 修改Subsystem sftpinternal-sftp,使用系統(tǒng)自帶的internal-sftp搭建sftp服務(wù)器鸵赖。
#注釋掉這行
#Subsystem      sftp    /usr/libexec/openssh/sftp-server

#添加在配置文件末尾
Subsystem sftp internal-sftp     #指定使用sftp服務(wù)使用系統(tǒng)自帶的internal-sftp
Match Group sftp-users
ChrootDirectory %h         #用chroot將指定用戶的根目錄务漩,chroot的含義:http://www.ibm.com/developerworks/cn/linux/l-cn-chroot/
ForceCommand internal-sftp 

X11Forwarding no            #這兩行拄衰,如果不希望該用戶能使用端口轉(zhuǎn)發(fā)的話就加上,否則刪掉
AllowTcpForwarding no
  • Match Group sftp-users這一行是指定以下的子行配置是匹配sftp-users用戶組的菲饼,多個(gè)用戶組用英文逗號(hào)分隔肾砂;
  • ChrootDirectory %h該行指定Match Group行指定的用戶組驗(yàn)證后用于chroot環(huán)境的路徑列赎,也就是默認(rèn)的用戶目錄宏悦,比如/home/admin;也可以寫明確路徑包吝,例如/data/www饼煞;
  • ForceCommand internal-sftp該行強(qiáng)制執(zhí)行內(nèi)部sftp,并忽略任何~/.ssh/rc文件中的命令诗越;

注意:因?yàn)镃hrootDirectory %h模式砖瞧,所以我們等下要設(shè)置sftp-users中的所有用戶的用戶目錄權(quán)限為root擁有,否則sftp-users組中的用戶無法用sftp登錄嚷狞。

修改sftp-users用戶組用戶目錄權(quán)限

  1. 修改權(quán)限為root用戶擁有
chown root /home/admin
  1. 修改權(quán)限為root可讀寫執(zhí)行块促,其它用戶可讀
chmod 755 /home/admin
  1. 重啟ssh,登錄sftp
sudo service ssh restart

# 或者 centos重啟重啟ssh的命令
sudo systemctl restart sshd.service
  1. 在用戶目錄下建立子目錄床未,讓sftp-users中的用戶可讀寫文件竭翠,我們現(xiàn)在在/home/admin目錄下新建一個(gè)projects文件夾,并授權(quán)給admin
cd /home/admin/
mkdir projects
# 更改文件夾用戶
chown admin /home/admin/projects
# 讓文件夾可讀寫
chmod 755 /home/admin/projects

linux的配置到這里基本就大功告成了薇搁,步驟還是挺多的斋扰。接下來就輪到windows上的配置了。

windows配置

在進(jìn)行vscode的配置之前啃洋,我們先進(jìn)行一下windows的一些簡單配置传货。

  1. 確保windows上開啟了ssh,檢驗(yàn)方式如下宏娄,在命令行輸入ssh:


    檢驗(yàn)是否安裝了ssh

    如圖所示就代表安裝好了问裕。

  2. 使用ssh-keygen生成ssh的公密鑰,用于windows登錄linux用孵坚。在Windows下查看[c盤->用戶->自己的用戶名->.ssh]下是否有"id_rsa僻澎、id_rsa.pub"文件,如果沒有需要手動(dòng)生成,有的話直接忽略這一步十饥。
    打開命令行窗口窟勃,在控制臺(tái)中輸入以下命令:
$ ssh-keygen -t rsa -C "youremail@example.com"

密鑰類型可以用 -t 選項(xiàng)指定。如果沒有指定則默認(rèn)生成用于SSH-2的RSA密鑰逗堵。這里使用的是rsa秉氧。
同時(shí)在密鑰中有一個(gè)注釋字段,用-C來指定所指定的注釋蜒秤,可以方便用戶標(biāo)識(shí)這個(gè)密鑰汁咏,指出密鑰的用途或其他有用的信息亚斋。所以在這里輸入自己的郵箱或者其他都行。

這里簡單起見攘滩,輸入上面命令之后一直回車就行了忍抽,結(jié)果見下圖。


正確生成key

.ssh文件中生成的文件

vscode配置

  1. 在vscode擴(kuò)展商店中搜索remote叉寂,安裝Remote Workspace
    搜索Remote Workspace
  2. 創(chuàng)建一個(gè)*.code-workspace工作區(qū)文件震糖,例如:test.code-workspace
{
    "folders": [{
        "uri": "sftp://admin@[ip地址]:22/?key=id_rsa",
        "name": "remote_www"
    }]
}

uri的格式如下:
sftp://[user:password@]host[:port][/path/to/a/folder][?param1=value1&param2=value2]

  • key代表了ssh的私鑰文件的名稱,查找目錄是在當(dāng)前用戶目錄下的.ssh文件夾蚤假。

其他參數(shù)可以查看remote workspace的使用文檔栏饮。

  1. 在vscode中,選擇打開工作區(qū)磷仰,然后打開剛剛保存的test.code-workspace文件袍嬉。


    打開工作區(qū)
  2. 然后,你會(huì)發(fā)現(xiàn)還是不行灶平,相當(dāng)絕望伺通。還差最后一步,我們要把剛剛生成的公鑰文件-id_rsa.pub的內(nèi)容復(fù)制的/home/admin/.ssh/authorized_keys文件中用于ssh的登錄逢享。結(jié)果類似下圖:
    上傳公鑰文件

    這時(shí)候重新刷新vscode工作區(qū)罐监,如果/home/admin/目錄下有文件的話,就可以在vscode中看到了拼苍。
    注意:某些linux用戶目錄下并沒有.ssh文件夾和authorized_keys文件笑诅,問題不大,新建文件和文件夾就行了疮鲫。

可能出現(xiàn)的問題:

  • 如果在vscode中文件無法保存吆你,提示權(quán)限不足,那就是admin賬戶對(duì)文件沒有操作權(quán)限俊犯,更改相應(yīng)目錄和文件的讀寫權(quán)限就ok了妇多。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市燕侠,隨后出現(xiàn)的幾起案子者祖,更是在濱河造成了極大的恐慌,老刑警劉巖绢彤,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件七问,死亡現(xiàn)場離奇詭異,居然都是意外死亡茫舶,警方通過查閱死者的電腦和手機(jī)械巡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人讥耗,你說我怎么就攤上這事有勾。” “怎么了古程?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵蔼卡,是天一觀的道長。 經(jīng)常有香客問我挣磨,道長雇逞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任趋急,我火速辦了婚禮喝峦,結(jié)果婚禮上势誊,老公的妹妹穿的比我還像新娘呜达。我一直安慰自己,他們只是感情好粟耻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布查近。 她就那樣靜靜地躺著,像睡著了一般挤忙。 火紅的嫁衣襯著肌膚如雪霜威。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天册烈,我揣著相機(jī)與錄音戈泼,去河邊找鬼。 笑死赏僧,一個(gè)胖子當(dāng)著我的面吹牛大猛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播淀零,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼挽绩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了驾中?” 一聲冷哼從身側(cè)響起唉堪,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎肩民,沒想到半個(gè)月后唠亚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡持痰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年灶搜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡占调,死狀恐怖暂题,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情究珊,我是刑警寧澤薪者,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站剿涮,受9級(jí)特大地震影響言津,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜取试,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一悬槽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瞬浓,春花似錦初婆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至萨赁,卻和暖如春弊琴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背杖爽。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國打工敲董, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人慰安。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓腋寨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親泻帮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子精置,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 背景: 閱讀新聞 12C CDB模式下RMAN備份與恢復(fù) [日期:2016-11-29] 來源:Linux社區(qū) 作...
    陽屯okyepd閱讀 3,397評(píng)論 0 7
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個(gè)...
    _小老虎_閱讀 5,744評(píng)論 0 10
  • 一锣杂、Nagios簡介 Nagios是一款開源的電腦系統(tǒng)和網(wǎng)絡(luò)監(jiān)視工具脂倦,能有效監(jiān)控Windows、Linux和Uni...
    1b3bd36d9d21閱讀 8,162評(píng)論 3 13
  • 第一部分:Git的基本操作 初始化操作 $ git config -global user.name #設(shè)置提交...
    莊欲以莘閱讀 1,902評(píng)論 0 4
  • 老媽的腰和腿一直不好元莫,除了骨質(zhì)疏松赖阻,還有多年的舊傷。不久前踱蠢,就因?yàn)閹臀沂樟藗€(gè)快遞(4本書)火欧,又閃了腰棋电,核磁檢查結(jié)果...
    張鶴凡閱讀 191評(píng)論 1 0