• 公网环境下使用VNC远程连接Ubuntu系统桌面



    前言

    实现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
    • 2
    • 3
    • 4
    • 5

    1. ubuntu安装VNC

    在ubuntu中安装vnc

    sudo apt-get install x11vnc
    
    • 1

    Image

    安装LightDM【LightDM从设计上就是支持本地图形界面以获得最好的兼容性】

    sudo apt-get install lightdm
    
    • 1

    安装过程中会出现以下选项,选择lightdm然后回车即可

    在这里插入图片描述

    设置密码,设置密码后,会问你是否需要将密码保存在:/home/root1/.vnc/passwd,输入y确认即可

    x11vnc -storepasswd
    
    • 1

    在这里插入图片描述

    2. 设置vnc开机启动

    创建一个x11vnc.service文件

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

    i键进入编辑模式,添加如下信息,!!注意: 替换为您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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    设置开机启动

    sudo systemctl enable x11vnc.service
    
    • 1

    启动服务

    sudo systemctl start x11vnc.service
    
    • 1

    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
    
    • 1

    或 cpolar短链接安装方式:(国外使用)

    curl -sL https://git.io/cpolar | sudo bash
    
    • 1
    • 查看版本号,有正常显示版本号即为安装成功
    cpolar version
    
    • 1
    • token认证

    登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里

    cpolar authtoken xxxxxxx
    
    • 1

    20230227141344

    • 简单穿透测试,有正常生成相应的公网地址即为穿透成功
    cpolar http 8080
    
    • 1

    按ctrl+c退出

    • 向系统添加服务
    sudo systemctl enable cpolar
    
    • 1
    • 启动cpolar服务
    sudo systemctl start cpolar
    
    • 1
    • 查看服务状态
    sudo systemctl status cpolar
    
    • 1
    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天退款保证】

  • 相关阅读:
    Linux开发讲课16--- 【内存管理】页表映射基础知识2
    日志管理系统,多种方式总结
    oracle-sql语句解析类型
    迄今微软不同时期发布的SQL Server各版本之间的大致区别,供参考查阅
    GPTS应用怎么创建?GPTS无法创建应用很卡怎么办
    软件项目管理 7.1.项目进度基本概念
    k8s day05
    售价 239 美元,第一台 RISC-V 便携式计算机现已上市
    (Pytorch)判断一个tensor中是否存在nan
    「PAT乙级真题解析」Basic Level 1098 岩洞施工 (问题分析+完整步骤+伪代码描述+提交通过代码)
  • 原文地址:https://blog.csdn.net/qq_63320529/article/details/134506820