如何使用Docker搭建StackEdit編輯器并結合內網穿透實現遠程辦公

文章目錄

      • 前言
      • 1. ubuntu安裝VNC
      • 2. 設置vnc開機啟動
      • 3. windows 安裝VNC viewer連接工具
      • 4. 內網穿透
        • 4.1 安裝cpolar【支持使用一鍵腳本命令安裝】
        • 4.2 創建隧道映射
        • 4.3 測試公網遠程訪問
      • 5. 配置固定TCP地址
        • 5.1 保留一個固定的公網TCP端口地址
        • 5.2 配置固定公網TCP端口地址
        • 5.3 測試使用固定公網地址遠程
      • 總結


前言

實現ubuntu 系統桌面級別的遠程連接,需要在ubuntu 系統中安裝vnc,既然是桌面,前提是需要ubuntu 帶有圖形化界面,如果沒有,可以執行以下命令安裝圖形化界面

sudo apt install ubuntu-desktop sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal sudo reboot #重啟即可看到圖形界面

1. ubuntu安裝VNC

在ubuntu中安裝vnc

sudo apt-get install x11vnc

Image

安裝LightDM【LightDM從設計上就是支持本地圖形界面以獲得最好的兼容性】

sudo apt-get install lightdm

安裝過程中會出現以下選項,選擇lightdm然后回車即可

在這里插入圖片描述

設置密碼,設置密碼后,會問你是否需要將密碼保存在:/home/root1/.vnc/passwd,輸入y確認即可

x11vnc -storepasswd

在這里插入圖片描述

2. 設置vnc開機啟動

創建一個x11vnc.service文件

sudo vim /lib/systemd/system/x11vnc.service

i鍵進入編輯模式,添加如下信息,!!注意: <USERNAME>替換為您ubuntu用戶名,添加完成后按Esc鍵退出編輯,然后輸入冒號:wq保存

[Unit]
Description=Start x11vnc at startup.
After=multi-user.target[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/<USERNAME>/.vnc/passwd -rfbport 5900 -shared[Install]
WantedBy=multi-user.target

在這里插入圖片描述

設置開機啟動

sudo systemctl enable x11vnc.service

啟動服務

sudo systemctl start x11vnc.service

3. windows 安裝VNC viewer連接工具

進入vnc官網,下載windows版vnc連接工具

https://www.realvnc.com/en/connect/download/viewer/

在這里插入圖片描述

下載好后打開使用局域網ip進行連接,端口是5900

在這里插入圖片描述

出現密碼界面,輸入上面設置的密碼即可
在這里插入圖片描述

出現ubuntu桌面表示成功
在這里插入圖片描述

4. 內網穿透

本地測試遠程連接沒問題后,接下來我們實現在公網環境下的遠程桌面,這里我們可以使用cpolar內網穿透工具實現程訪問。支持http/https/tcp協議,不限制流量,無需公網ip,也無需設置路由器。

cpolar官網:https://www.cpolar.com/

4.1 安裝cpolar【支持使用一鍵腳本命令安裝】
  • cpolar 安裝(國內使用)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

或 cpolar短鏈接安裝方式:(國外使用)

curl -sL https://git.io/cpolar | sudo bash
  • 查看版本號,有正常顯示版本號即為安裝成功
cpolar version
  • token認證

登錄cpolar官網后臺,點擊左側的驗證,查看自己的認證token,之后將token貼在命令行里

cpolar authtoken xxxxxxx

20230227141344

  • 簡單穿透測試,有正常生成相應的公網地址即為穿透成功
cpolar http 8080

按ctrl+c退出

  • 向系統添加服務
sudo systemctl enable cpolar
  • 啟動cpolar服務
sudo systemctl start cpolar
  • 查看服務狀態
sudo systemctl status cpolar
4.2 創建隧道映射

cpolar安裝成功后,在瀏覽器上訪問本地9200端口,【127.0.0.1:9200],使用cpolar郵箱賬號登錄 web UI管理界面。

在這里插入圖片描述

登錄成功后,點擊左側儀表盤的隧道管理——創建隧道,創建一個tcp協議的隧道指向本地5900端口:

  • 隧道名稱:可自定義,注意不要與已有的隧道名稱重復
  • 協議:tcp
  • 本地地址:5900
  • 域名類型:免費選擇隨機域名
  • 地區:默認China top即可

點擊創建

在這里插入圖片描述

隧道創建成功后,點擊左側的狀態——在線隧道列表,可以看到,剛剛創建的隧道已經有生成了相應的公網地址+公網端口號,將其復制下來

在這里插入圖片描述

4.3 測試公網遠程訪問

打開windows vnc viewer,使用剛剛所獲取的公網地址+公網端口號進行連接。本例為2.tcp.vip.cpolar.cn:13001
在這里插入圖片描述

輸入密碼
在這里插入圖片描述

公網遠程連接成功
在這里插入圖片描述

5. 配置固定TCP地址

由于以上創建的隧道是隨機地址隧道,該地址會在24小時內變化,為了使連接更加穩定,我們需要為其配置固定的TCP地址。

需要注意,配置固定TCP端口地址需要將cpolar升級到專業版套餐或以上。

5.1 保留一個固定的公網TCP端口地址

登錄cpolar官網后臺,點擊左側的預留,選擇保留的TCP地址。

  • 地區:選擇China VIP
  • 描述:即備注,可自定義填寫

點擊保留

在這里插入圖片描述

地址保留成功后,系統會生成相應的固定公網地址,將其復制下來

在這里插入圖片描述

5.2 配置固定公網TCP端口地址

在瀏覽器上登錄cpolar web UI管理界面,http://127.0.0.1:9200/,點擊左側儀表盤的隧道管理——隧道列表,找到我們前面創建的vnc遠程隧道,點擊右側的編輯

在這里插入圖片描述

修改隧道信息,將保留成功的固定tcp地址配置到隧道中

  • 端口類型:修改為固定tcp端口
  • 預留的tcp地址:填寫保留成功的地址

點擊更新

在這里插入圖片描述

隧道更新成功后,點擊左側儀表盤的狀態——在線隧道列表,找到vnc遠程桌面隧道,可以看到公網地址已經更新成為了固定tcp地址。

在這里插入圖片描述

5.3 測試使用固定公網地址遠程

接下來測試使用固定TCP端口地址遠程ubuntu桌面,我們再次在windows上打開VNC viewer,使用固定tcp地址連接,出現密碼界面,同樣輸入密碼

在這里插入圖片描述

遠程連接成功

在這里插入圖片描述

總結

至此,我們成功實現了使用VNC遠程桌面ubuntu:通過cpolar穿透vnc服務5900端口,使用所生成的公網地址,實現在外隨時隨地遠程桌面控制內網的Ubuntu,不需要公網IP,也不需要配置路由器。并且,這個公網地址還是固定的,不會隨機變化,連接穩定。

除了穿透vnc之外,cpolar也可以應用在其他眾多場景下,比如公網ssh遠程、遠程群暉NAS、我的世界聯機、微信公眾號支付寶調試、公開一個本地web…【PS:cpolar目前還支持21天退款保證】

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716402.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716402.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716402.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

優選算法|【雙指針】|1089.復寫零

目錄 題目描述 題目解析 算法原理講解 代碼 題目描述 1089. 復寫零 給你一個長度固定的整數數組 arr &#xff0c;請你將該數組中出現的每個零都復寫一遍&#xff0c;并將其余的元素向右平移。 注意&#xff1a;請不要在超過該數組長度的位置寫入元素。請對輸入的數組 就…

LeetCode受限條件下可到達節點的數目

題目描述 現有一棵由 n 個節點組成的無向樹&#xff0c;節點編號從 0 到 n - 1 &#xff0c;共有 n - 1 條邊。 給你一個二維整數數組 edges &#xff0c;長度為 n - 1 &#xff0c;其中 edges[i] [ai, bi] 表示樹中節點 ai 和 bi 之間存在一條邊。另給你一個整數數組 restr…

OJ:移除鏈表元素

203. 移除鏈表元素 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;這個題可以直接在原鏈表上進行修改&#xff0c;但是修改鏈表的指向是有點麻煩的&#xff0c;所以我們給兩個指針&#xff0c;phead和ptail,這是新鏈表的兩個指針&#xff0c;再給一個指針pcur來遍歷…

Java和JavaScript區別

1. Java和javaScript都是面向對象語言 2. 他兩除了名字相似之外沒有任何關系 3. Java是一種真正的面向對象語言&#xff0c;不管開發什么程序都要設計對象&#xff1b;而JavaScript是種腳本語言&#xff0c;主要實現前端頁面的交互&#xff0c;比如驗證表單&#xff0c;彈窗提…

Sqli-labs靶場第12關詳解[Sqli-labs-less-12]

Sqli-labs-Less-12 #手工注入 post傳參了 根據題目看&#xff0c;像一個登錄頁面&#xff0c;嘗試使用布爾型盲注測試能否登錄網站 1. Username輸入a a" 測試是否會有報錯&#xff0c;burp抓包 報錯&#xff1a;syntax to use near "a"") and passw…

消息中間件之RocketMQ源碼分析(二十七)

Broker提交或回滾事務消息 當生產者本地事務處理完成并且Broker回查事務消息后&#xff0c;不管執行Commit還是Rollback,都會根據用戶本地事務的執行結果發送一個End_transaction的RPC請求給Broker&#xff0c;Broker端處理該請求的類是EndTransactionProcessor 第一步&…

volatile 關鍵字 (一)

volatile 關鍵字 &#xff08;一&#xff09; 文章目錄 volatile 關鍵字 &#xff08;一&#xff09;如何保證變量的可見性&#xff1f;如何禁止指令重排序&#xff1f; 文章來自Java Guide 用于學習如有侵權&#xff0c;立即刪除 如何保證變量的可見性&#xff1f; 在 Java 中…

【Linux安裝軟件命令及vim、gcc使用說明】

安裝軟件命令 Linux安裝軟件的命令首先要進入管理員權限 首先在終端輸入sudo su切換到管理員界面 輸入對應的密碼&#xff0c;注意這里的密碼不會顯示出來&#xff0c;輸完密碼之后回車即可。當出現root就代表已經是管理員界面了。 如果相應退出管理員界面輸入exit即可。 注…

django-paramiko遠程服務器和文件管理(五)

一、paramiko簡介 1.paramiko是一個基于SSHv2協議的純Python庫。需要單獨安裝。 2.它提供了客戶端和服務器的功能。 3.可以實現SSH2遠程安全連接&#xff0c;支持用戶名、密碼連接&#xff0c;也支持密鑰連接 4.一般用于執行遠程命令、傳輸文件、中間SSH代理等 安裝 pip3 in…

數組、冒泡排序、函數、作用域、對象、Math

數組 1.定義數組&#xff1a; a)通過字面量的方式定義數組 let ary[1,2,3,4]b)通過定義構造函數的方式定義數組&#xff1a; let 數組名new Array(值,值,值);數組的操作方式 a)增 //在數組末尾添加值 arr.push(新增的內容) //在數組的開始添加值 arr.unshift(新增的內容)b…

Redis主從復制+Redis哨兵模式+Redis群集模式

Redis主從復制Redis哨兵模式Redis群集模式一、Redis主從復制1、主從復制的作用2、主從復制過程3、搭建Redis主從復制3.1 所有節點服務器安裝redis3.2 修改Redis配置文件(Master節點操作)3.3 修改Redis配置文件(Slave節點操作)3.4 驗證主從效果 二、Redis哨兵模式1、哨兵模式的作…

8、IBOScms代碼審計

一、sql注入 1、sql注入(Ⅰ) 限制 rreport/api/getlist {"offset":0,"type":"send","keyword":{"subject":"111) AND (updatexml(1,concat(0x7e,(select user()),0x7e),1))-- qw"}}復現 POST /?rreport/api/…

Vue開發實例(十一)用戶列表的實現與操作

用戶列表的實現與操作 一、創建用戶頁面和路由二、表格優化1、表頭自定義2、表格滾動3、加入數據索引4、利用插槽自定義顯示 三、功能1、查詢功能3、增加4、刪除5、修改 一、創建用戶頁面和路由 創建用戶頁面 在 src/components/Main 下創建文件夾user&#xff0c;創建文件Us…

Java ZooKeeper-RocketMQ 面試題

Java ZooKeeper-RocketMQ 面試題 前言1、談談你對ZooKeeper的理解 &#xff1f;2、Zookeeper的工作原理&#xff08;Zab協議&#xff09;3、談談你對分布式鎖的理解&#xff0c;以及分布式鎖的實現&#xff1f;4、 zookeeper 是如何保證事務的順序一致性的&#xff1f;5、 zook…

設計模式之策略模式詳解

目錄 什么是策略模式 應用場景 業務場景實現 抽象類 實現類 Context上下文 測試類 策略模式的優缺點 什么是策略模式 他將定義的算法家族、分別封裝起來&#xff0c;讓他們之間可以相互替換&#xff0c;從而讓算法的變化不會影響到使用算法的用戶。 策略模式使用的就是…

idea出現莫名其妙錯的時候

正常情況idea使用起來都很順手&#xff0c;但是當項目比較多的時候&#xff0c;可能出現莫名奇妙的錯誤&#xff0c;比如導入的包始終報錯java: 程序包com不存在&#xff0c;或者引入自己寫的包也不存在&#xff0c;或者始終出現紅線但是排查之后沒有問題的情況&#xff0c;這種…

進來吧,給自己10分鐘,這篇文章帶你直接學會python

Python的語言特性 Python是一門具有強類型(即變量類型是強制要求的)、動態性、隱式類型(不需要做變量聲明)、大小寫敏感(var和VAR代表了不同的變量)以及面向對象(一切皆為對象)等特點的編程語言。 獲取幫助 你可以很容易的通過Python解釋器獲取幫助。如果你想知道一個對象(o…

OJ:鏈表的中間結點

876. 鏈表的中間結點 - 力扣&#xff08;LeetCode&#xff09; 思路 思路&#xff1a;首先最容易想到的思路是什么呢&#xff0c;就是先遍歷一遍鏈表&#xff0c;用一個值count來記錄鏈表的長度&#xff0c;然后我們運用除法&#xff0c;/2&#xff0c;結果是幾&#xff0c;就…

【C++干貨基地】揭秘C++11常用特性:內聯函數 | 范圍for | auto自動識別 | nullptr指針空值

&#x1f3ac; 鴿芷咕&#xff1a;個人主頁 &#x1f525; 個人專欄: 《C干貨基地》《粉絲福利》 ??生活的理想&#xff0c;就是為了理想的生活! 引入 哈嘍各位鐵汁們好啊&#xff0c;我是博主鴿芷咕《C干貨基地》是由我的襄陽家鄉零食基地有感而發&#xff0c;不知道各位的…

平臺工程: 用Backstage構建開發者門戶 - 2

本文介紹了如何使用開源Backstage構建自己的開發者門戶&#xff0c;并基于此實踐平臺工程。本系列共兩篇文章&#xff0c;這是第二篇。原文: Platform Engineering: Building Your Developer Portal with Backstage — Part 2 在本教程第一部分中我們了解了Backstage這個用于構…