在我們學(xué)習(xí)、工作中,常遇到需要使用Windows系統(tǒng)的電腦,來訪問遠(yuǎn)程Linux系統(tǒng)進(jìn)行相關(guān)部署操作,但遠(yuǎn)程Linux系統(tǒng)服務(wù)與本地Windows不在同一個(gè)局域網(wǎng),而且Linux系統(tǒng)所在的外網(wǎng)IP是動(dòng)態(tài)變化的,那么,有沒有簡單、高效的辦法解決這個(gè)遠(yuǎn)程訪問難題?
花生殼不需要公網(wǎng)IP,也不用路由器設(shè)置,通過內(nèi)網(wǎng)穿透對(duì)SSH服務(wù)端口進(jìn)行映射,將動(dòng)態(tài)IP映射為固定域名,就可以快速實(shí)現(xiàn)Windows連接Linux系統(tǒng)進(jìn)行遠(yuǎn)程訪問。
下面就為大家介紹,如何使用花生殼+SSH實(shí)現(xiàn)Linux服務(wù)的遠(yuǎn)程操作。
1. 先確定Linux系統(tǒng)的電腦或服務(wù)器開啟SSH服務(wù),并確定端口號(hào):在終端中輸入sudo service sshd status,如果出現(xiàn)Active: active (running),說明SSH服務(wù)已啟動(dòng);
再輸入more /etc/ssh/sshd_config,結(jié)果出現(xiàn)Port 22,說明端口號(hào)是22;
2. 然后在linux電腦上安裝花生殼內(nèi)網(wǎng)穿透客戶端;
3. 安裝注冊完成,得到花生殼登錄帳號(hào)SN及密碼;
4. 然后到花生殼web管理后臺(tái)登錄激活服務(wù),在【內(nèi)網(wǎng)穿透】界面添加端口映射,映射類型選擇TCP,內(nèi)網(wǎng)主機(jī)及端口填寫Linux系統(tǒng)局域網(wǎng)IP及端口號(hào)22;
5. 映射完成,花生殼將生成一個(gè)外網(wǎng)訪問地址,通過這個(gè)外網(wǎng)訪問地址就可以進(jìn)行遠(yuǎn)程訪問Linux電腦或服務(wù)器了;
6. 再到需要訪問遠(yuǎn)程linux電腦的windows電腦上,安裝安全終端模擬軟件XShell;
7. 選擇新建會(huì)話,在主機(jī)中輸入花生殼映射生成的域名,端口號(hào)輸入生成域名后的隨機(jī)端口號(hào),這里是35284(需注意,此處的端口號(hào)不再是22,現(xiàn)在已經(jīng)通過花生殼將動(dòng)態(tài)IP轉(zhuǎn)化為固定域名,端口號(hào)要采用花生殼生成的域名端口);
8. 填寫完成點(diǎn)擊確定,即可進(jìn)入遠(yuǎn)程linux電腦的命令狀態(tài),然后就可以執(zhí)行相關(guān)命令操作了。
通過花生殼內(nèi)網(wǎng)穿透將SSH進(jìn)行映射,快速實(shí)現(xiàn)了遠(yuǎn)程Linux電腦或服務(wù)器的連接訪問,在本地Windows系統(tǒng)上進(jìn)行部署操作,極大提高學(xué)習(xí)、工作效率。
花生殼還廣泛應(yīng)用于OA/ERP/CRM系統(tǒng)、NAS私有云、視頻監(jiān)控、開發(fā)調(diào)試、FTP/SVN/MAC服務(wù)器、Windows遠(yuǎn)程桌面、Web網(wǎng)站、微信公眾號(hào)、小程序、遙感測繪、工業(yè)4.0等各各種局域網(wǎng)應(yīng)用和設(shè)備,不需要公網(wǎng)IP,只要有網(wǎng)就能將局域網(wǎng)內(nèi)搭建的服務(wù)映射到外網(wǎng)實(shí)現(xiàn)域名訪問;還能通過手機(jī)、PC等隨時(shí)隨地進(jìn)行遠(yuǎn)程管理。有需要的用戶可前往PC端下載體驗(yàn):
以下文章來源于后端技術(shù)學(xué)堂 ,作者LemonCoder
今天和大家分享一個(gè)遠(yuǎn)程開發(fā)解決方案,聊一聊我平常是如何用 VS Code 進(jìn)行遠(yuǎn)程開發(fā)工作的,以及一步步教你搭建遠(yuǎn)程開發(fā)環(huán)境,擁有比德芙還絲滑的遠(yuǎn)程開發(fā)體驗(yàn)。
我們廠里為了最大程度提高工程師生產(chǎn)力,各種研發(fā)配套工具非常的齊全,對(duì)開發(fā)人員每人都有一臺(tái)云主機(jī),而且是個(gè)人主機(jī)哦,申請(qǐng)就有的那種。有了云開發(fā)主機(jī)在家里或者在公司都可以隨便折騰,加班也更方便了(好像哪里有點(diǎn)不對(duì))。
大家都知道我是從事后臺(tái)服務(wù)器開發(fā)工作的,主力語言是C/C++。我們的服務(wù)端程序一般都是跑在 Linux 服務(wù)器上面,傳統(tǒng)的開發(fā)流程是在 window 或 Mac 的 IDE 環(huán)境編寫代碼,然后用 ftp 或 sync同步代碼到開發(fā)機(jī)上編譯,程序或服務(wù)最終發(fā)布到測試或生產(chǎn)環(huán)境運(yùn)行。
就我來說,以前是這么干的:在本地 Windows 和 Linux 云開發(fā)機(jī)之間開啟一個(gè)同步程序,本地編輯代碼,實(shí)時(shí)后臺(tái)同步到 Linux 云開發(fā)機(jī),然后用 xshell 登錄開發(fā)機(jī)編譯、調(diào)試,這個(gè)過程有點(diǎn)不夠優(yōu)雅,現(xiàn)在有更香的解決方案。
這是一款開源編輯器,卻不止是編輯器。
★
Visual Studio Code(簡稱VS Code)是一個(gè)由微軟開發(fā),同時(shí)支持Windows 、 Linux和macOS等操作系統(tǒng)且開放源代碼的代碼編輯器,它支持測試,并內(nèi)置了Git 版本控制功能,同時(shí)也具有開發(fā)環(huán)境功能,例如代碼補(bǔ)全(類似于 IntelliSense)、代碼片段和代碼重構(gòu)等。該編輯器支持用戶個(gè)性化配置,例如改變主題顏色、鍵盤快捷方式等各種屬性和參數(shù),同時(shí)還在編輯器中內(nèi)置了擴(kuò)展程序管理的功能 - 引用維基百科
”
我最喜歡的是它的插件能力,幾乎想要啥功能都能找到插件支持,應(yīng)該不用我安利你們都會(huì)喜歡的。
在 2019 年的 Stack Overflow 組織的開發(fā)者調(diào)研中,VS Code被認(rèn)為是最受開發(fā)者歡迎的開發(fā)環(huán)境,據(jù)調(diào)查87317名受訪者中有 50.7% 的受訪者聲稱正在使用VS Code。
開發(fā)環(huán)境排名 - 圖片來源網(wǎng)絡(luò)
說了這么多,反正要表達(dá)的就是VS Code很厲害就是了。
重點(diǎn)來了,今天的主角功能是下面這個(gè)遠(yuǎn)程開發(fā)擴(kuò)展插件。
微軟在 PyCon 2019 大會(huì)上發(fā)布了VS Code Remote ,從 1.35.0 版本正式提供可以在本地編輯遠(yuǎn)程開發(fā)環(huán)境的文件的功能,所以首先確保你的VS Code版本是在這個(gè)之上的才能體驗(yàn)到。
VS Code遠(yuǎn)程開發(fā)的工作原理,大致是這樣的:
VS Code 遠(yuǎn)程開發(fā)原理
下面講講如何配置,我的Local OS是 Win10 , Remote OS 是 Linux云主機(jī)。
遠(yuǎn)程開發(fā)本地 VS Code 用 SSH 協(xié)議與遠(yuǎn)程服務(wù)端通信,所以要先配置SSH環(huán)境變量,由于Git自帶SSH客戶端程序
SSH程序
如果你還沒裝Git的話,這里要先安裝 Git,所以配置 Git 的 bin目錄到環(huán)境變量的 PATH 變量下,這樣VS Code連接的時(shí)候就能找到它了。
環(huán)境變量
要能連上遠(yuǎn)程主機(jī),首先我們需要下載VS Code遠(yuǎn)程開發(fā)插件,VS Code其實(shí)是提供了一個(gè)遠(yuǎn)程開發(fā)插件包,包括:
遠(yuǎn)程開發(fā)插件
打開軟件的擴(kuò)展界面,搜索 Remote 開頭的插件,也能看到這三個(gè)的不同遠(yuǎn)程開發(fā)插件,我們這里連接的是云主機(jī),選擇安裝 Remote - SSH 插件安裝即可。
機(jī)器配置
SSH配置文件
登錄遠(yuǎn)程服務(wù)
打開遠(yuǎn)程目錄
本地插件和遠(yuǎn)程插件
遠(yuǎn)程編輯和調(diào)試
按照上面的配置步驟,每次連接到遠(yuǎn)程服務(wù)器,都需要輸入服務(wù)器登錄密碼很麻煩,可以配置SSH免密登錄,免去每次輸入密碼的煩惱,具體操作步驟如下:
秘鑰列表
這套遠(yuǎn)程開發(fā)環(huán)境體驗(yàn)下來,我整體是比較滿意的,最大的好處是不用給電腦裝太多軟件,選擇VS Code是因?yàn)樾枰?jīng)常在C++/Python/Go三種IDE之間切換比較麻煩,現(xiàn)在即使是電腦配置低點(diǎn)都沒關(guān)系,因?yàn)樗械木庉嬈鞑寮U(kuò)展和代碼都在云端,通過 SSH連接操作一個(gè)VS Code打遍所有。
而且由于遠(yuǎn)程開發(fā)插件的存在,不論我在哪里,只要有電腦都能方便的打開云端開發(fā)環(huán)境,非常的方便,這么好用的工具大幅提升生產(chǎn)力,所以今天來分享給大家。
老規(guī)矩。感謝各位的閱讀,文章的目的是分享對(duì)知識(shí)的理解,技術(shù)類文章我都會(huì)反復(fù)求證以求最大程度保證準(zhǔn)確性,若文中出現(xiàn)明顯紕漏也歡迎指出,我們一起在探討中學(xué)習(xí)。