Ubuntu使用vnc远程桌面远程内网穿透
Posted 桃花键神
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu使用vnc远程桌面远程内网穿透相关的知识,希望对你有一定的参考价值。
文章目录
1.前言
记得笔者刚刚开始接触电脑时,还是win95/98的时代,那时的电脑桌面刚迈入图形化不久,还存在很多问题,比如被无数次调侃的蓝屏白字和惊心动魄的音效,但也确实深深吸引了笔者(尽管那时候都在玩游戏),算是打开了笔者的兴趣之门。接下来的时间里,各种不同的操作系统都迈进了图形化时代,以黑屏白字显示的操作系统越来越少。恰逢乔帮主的苹果电脑风靡全球,为了体验不同的图形界面风格,笔者还下载安装过苹果风格的桌面模拟包(彼时的苹果不兼容intelCPU,更重要的原因是买不起那时的苹果电脑…),但带来的后果就是Windows系统的各种不稳定和崩溃。
现在各种操作系统的图形化界面日臻成熟,风格也逐渐趋于类似。笔者将淘汰的电脑装上了不同的操作系统,时不时的开机感受下不同风格的操作界面,也会在不同操作系统上安装一些特色软件玩一玩。直到桌面连接软件的出现,笔者就开始使用桌面连接软件,在Windows系统上打开其他操作系统的桌面进行操作。可以说桌面连接软件的出现,给笔者省了不少麻烦。而随着软件技术的发展,已经出现了能远程连接局域网内不同操作系统桌面的软件组合,更是大大拓展了可玩性。今天,笔者就为大家介绍很有特色的一种:使用Cpolar+VNC的组合,实现远程连接其他系统的桌面。
2.两台互联电脑的设置
为便于说明两台不同操作系统之间使用VNC互联的操作步骤,笔者使用了安装Ubuntu系统的电脑,以及安装了Windows系统的电脑。如果打算在其他操作系统的电脑进行互联,也可以参照这些步骤进行。
2.1 Windows安装VNC
由于笔者平时使用的电脑都是Windows操作系统,因此需要以Windows连接其他操作系统桌面。首先要在Windows上安装VNC,只要访问VNC官网(https://www.realvnc.com/en/connect/download/viewer/),下载适用Windows系统的VNC版本。
Windows版的VNC下载完成后,双击.exe文件,并一路next
即可完成安装。安装期间可能出现选择软件安装位置的提示框,只要选择local hard drive
位置即可。
2.2 Ubuntu安装VNC
接着在打算连入的操作系统上安装VNC,这里打算连入的是Ubuntu系统,因此是在Ubuntu系统上安装VNC(其他操作系统以此类推)。
需要注意的是,想要远程连接Ubuntu的图形化桌面,可能需要先执行图形化桌面的安装命令
sudo apt install ubuntu-desktop
sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
再输入命令重启Ubuntu,就能启用图形化桌面
sudo reboot
为了能更好的获得Ubuntu的图形化界面,还可以选择安装lightDM,输入命令
sudo apt-get install lightdm
就能安装lightDM,安装期间出现的询问,我们按键盘上的Tab选择light
即可。
接着在Ubuntu的命令行界面输入命令
sudo apt-get install x11vnc
就能自动安装VNC
完成VNC的安装后,最好再将VNC设置为开机启动(毕竟谁也不想每次重启Ubuntu后都要重新启动VNC软件)。输入命令
sudo vim /lib/systemd/system/x11vnc.service
新建一个x11vnc.service文件,其中vim可以输入命令sudo apt install vim进行安装,如果没有安装vim就无法建立x11vnc.service文件,接着按i键进入该文件的编辑模式,并输入如下命令:
[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
需要注意的是,蓝色显示的<USERNAME>
需要替换为Ubuntu的实际用户名。
在指令添加完毕后,就可以输入:wq
保存并退出。
最后,将其设置为开机启动
sudo systemctl enable x11vnc.service
启动服务
sudo systemctl start x11vnc.service
完成Ubuntu的VNC设置后,就可以接着安装Cpolar为我们远程通过VNC连接Ubuntu桌面进行准备
2.3.Ubuntu安装cpolar
相较来说,在Ubuntu上安装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
查看版本号,只要能显示出版本号,就说明cpolar已经成功安装。
接着,就可以通过浏览器访问cpolar的官网(www.cpolar.com)注册属于自己的账号并在cpolar官网登录,获取cpolar客户端的token码激活cpolar的客户端。当然,首先就是注册成为cpolar的用户(cpolar以注册名为划分,为每个客户生成单独的数据通道,并且生成用户唯一的token码,以此保证数据安全),并且新用户注册也非常简单。
在完成用户注册,并以注册用户登录cpolar官网后,就可以在cpolar网站主页面看到一串十分复杂的token码。
我们将这串token码复制下来,粘贴到Ubuntu的命令行界面并输入,具体的命令为:
cpolar authtoken (此处粘贴那串复杂的token码)
Token码输入后,就会被自动写入cpolar的配置文件中。此时我们就可以在Ubuntu的浏览器中,输入localhost:9200,打开cpolar的Web-UI界面。
在登陆界面输入已注册的用户名和密码后,就能进入cpolar客户端主界面。在这里我们能对已建立的隧道进行操作,也可以从这里建立一条临时隧道短暂使用。
不过正如前文所述,笔者并不想每天都重设一次VNC的连接地址,并且远程桌面连接所需的带宽也不小,因此直接升级Cpolar到专业套餐,而多出来的几个固定TCP、HTTP隧道,正好可以拿来发布网页或其他用途。
3.Cpolar设置
想要使用cpolar生成一天能够长期持续稳定存在的数据隧道,需要从cpolar云端和cpolar客户端两方面进行设置。其中,cpolar云端主要负责生成内网穿透数据隧道的入口,也就是公共互联网的地址(也可以看做一条空白的数据隧道);而cpolar客户端则是将数据隧道的入口与本地软件输出端口连接起来。因此,我们需要先登录cpolar云端,设置一条空白数据隧道。
3.1 Cpolar云端设置
在cpolar官网主界面左侧,找到并点击“预留”按钮,进入预留数据隧道设置页面,这里就是创建个人专属的空白数据隧道(TCP\\HTTP\\FTP等)的设置页面,这条数据隧道能生成一个公共互联网地址(即隧道的公共互联网地址)。
为了方便数据隧道的创建,自然需要输入一些简单信息,这些信息主要为:
- 地区 – 只要在下拉菜单中,就近选择即可(离得近能降低延迟);
- 描述 – 该栏可以看做数据隧道的备注,方便分辨即可;
信息设置完成后,点击右侧的保留
按钮,将这条数据隧道保留下来,并生成一个公共互联网地址。
在这里,我们需要复制地址
栏位的内容,以便在cpolar客户端设置时填入。
3.2.Cpolar本地设置
完成了cpolar云端的设置后,我们回到cpolar客户端,在cpolar客户端点击软件界面左侧隧道管理
项下的创建隧道
按钮,进入cpolar本地的数据隧道创建页面。在这里同样需要对几项信息进行设置,才能让云端生成的空白数据隧道与本地输出端口连结起来(免费版cpolar想要创建数据隧道,也是这样操作),这些内容主要为:
- 隧道名称 —— 可看做数据隧道的备注,用来区分不同隧道的应用场景;
- 协议 —— 即数据隧道的传输协议,如网页、数据传输、设备互联等,这里选择TCP协议;
- 本地地址 —— 这里需要填入软件(或内网设备)的端口号,而VNC的端口号为5900,因此在至此填入5900;
- 端口类型 —— 也就是内网穿透数据隧道类型,在cpolar云端设置了保留隧道的,就可以选择“固定TCP端口”;若只是> - 临时测试,就可以选择“随机临时TCP端口”(需要注意,固定TCP端口要将cpolar升级至专业版及以上);
- 预留的TCP地址 —— 在选择了“固定TCP端口”后就会出现该栏位,这里就要将cpolar云端生成的地址粘贴进来(若勾选 “随机临时TCP端口”,则不会出现该栏位);
各项设置都填入后,点击下方的创建
按钮,就能将云端空白数据隧道与本地Ubuntu的VNC软件连接起来,从而让其他系统内的VNC软件能够连接到Ubuntu系统桌面。
隧道创建成功后,就能够生成拥有公共互联网地址,连接本地Ubuntu系统的VNC软件隧道。这条隧道可以在隧道管理
项下的隧道列表
页面看到,并可以在这个页面对隧道进行操作,如开启、关闭、删除等,如果要修改这条数据隧道的信息,也可以在这个页面中找到修改入口。
而这条隧道的公共互联网地址,则可以在状态
项下的在线隧道列表
中看到。
4.公网访问测试
现在,我们在Windows和Ubuntu都安装了VNC,并且cpolar的数据隧道也已经成功建立,接下来,我们就可以尝试使用VNC,在Windows上操作Ubuntu的桌面。
只要在Windows上打开VNC软件,在左上角的“File”菜单点击“New connection”选项,就能打开连接页面。
在New connection
页面,需要将Ubuntu上cpolar生成的公共互联网地址,填入VNC Server
栏位中,指导VNC找到Ubuntu系统。
最后点击页面下方的“OK”并输入密码,就能成功从Windows系统,连入Ubuntu系统的桌面,并进行所需的操作。
5.结语
至此,我们使用VNC+cpolar的软件组合,从Windows桌面连接Ubuntu系统桌面的尝试就算成功了。在这次操作中,VNC软件可以替换为其他的桌面互连软件,以适应不同用户的操作习惯。需要注意的是,远程桌面操作消耗带宽较大,为获得更好的操作体验,最好使用付费版的cpolar数据隧道。
使用VNC远程连接Ubuntu - 内网穿透实现公网远程办公
写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。
- 对于文章中出现的任何错误请大家批评指出,一定及时修改。
- 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
- 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。
使用VNC远程连接Ubuntu - 内网穿透实现公网远程办公
本文关键字:cpolar、Ubuntu、VNC、内网穿透、远程连接
文章目录
一、VNC配置
实现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
安装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
二、客户端连接
1. VNC Viewer
以Windows系统为例,安装VNC Viewer连接工具,进入VNC官网,下载Windows版VNC连接工具
2. 远程连接测试
- 下载好后打开使用局域网ip进行连接,端口是5900
- 出现密码界面,输入上面设置的密码即可
- 出现ubuntu桌面表示成功
三、内网穿透
本地测试远程连接没问题后,接下来实现在公网环境下连接远程桌面,这里使用cpolar内网穿透工具实现程访问。支持http/https/tcp协议,不限制流量,无需公网ip,也无需设置路由器。
cpolar官网:https://www.cpolar.com/
1. 安装cpolar【支持脚本一键安装】
在Ubuntu系统中继续执行操作:
- 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
- 简单穿透测试,有正常生成相应的公网地址即为穿透成功
cpolar http 8080
按ctrl+c退出
- 向系统添加服务
sudo systemctl enable cpolar
- 启动cpolar服务
sudo systemctl start cpolar
- 查看服务状态
sudo systemctl status cpolar
2. 创建隧道映射
cpolar安装成功后,在浏览器上访问本地9200端口,【127.0.0.1:9200],使用cpolar邮箱账号登录 web UI管理界面。
登录成功后,点击左侧仪表盘的隧道管理——创建隧道,创建一个tcp协议的隧道指向本地5900端口:
- 隧道名称:可自定义,注意不要与已有的隧道名称重复
- 协议:tcp
- 本地地址:5900
- 域名类型:免费选择随机域名
- 地区:默认China top即可
点击创建
隧道创建成功后,点击左侧的状态——在线隧道列表,可以看到,刚刚创建的隧道已经有生成了相应的公网地址+公网端口号,将其复制下来
3. 测试公网远程访问
打开Windows VNC Viewer,使用刚刚所获取的公网地址+公网端口号进行连接。本例为2.tcp.vip.cpolar.cn:13001
- 输入密码
- 公网远程连接成功
四、配置固定TCP【可选】
由于以上创建的隧道是随机地址隧道,该地址会在24小时内变化,为了使连接更加稳定,可以将其配置为固定的TCP地址。
注:配置固定TCP端口地址需要将cpolar升级到专业版套餐或以上。
1. 保留公网TCP端口地址
登录cpolar官网后台,点击左侧的预留,选择保留的TCP地址。
- 地区:选择China VIP
- 描述:即备注,可自定义填写
点击保留
地址保留成功后,系统会生成相应的固定公网地址,将其复制下来
2. 配置固定公网TCP端口地址
在浏览器上登录cpolar web UI管理界面,http://127.0.0.1:9200/,点击左侧仪表盘的隧道管理——隧道列表,找到前面创建的VNC远程隧道,点击右侧的编辑:
修改隧道信息,将新保留的固定TCP地址配置到隧道中
- 端口类型:修改为固定tcp端口
- 预留的tcp地址:填写保留成功的地址
点击更新
隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,找到VNC远程桌面隧道,可以看到公网地址已经更新成为了固定TCP地址。
3. 测试固定公网地址远程连接
接下来测试使用固定TCP端口地址远程Ubuntu桌面,在Windows上打开VNC Viewer,使用固定TCP地址连接,出现密码界面,输入密码:
- 远程连接成功:
五、小结
至此,可以成功实现使用VNC远程连接Ubuntu:通过cpolar穿透VNC服务5900端口,使用所生成的公网地址,实现在外随时随地远程控制内网的Ubuntu,不需要公网IP,也不需要配置路由器。并且,这个公网地址是固定的,不会随机变化,连接稳定。
除了穿透VNC之外,cpolar也可以应用在其他众多场景下,比如公网SSH远程、远程群晖NAS、我的世界联机、微信公众号支付宝调试、公开一个本地Web…【PS:cpolar目前还支持21天退款保证】
扫描下方二维码,加入CSDN官方粉丝微信群,可以与我直接交流,还有更多福利哦~
以上是关于Ubuntu使用vnc远程桌面远程内网穿透的主要内容,如果未能解决你的问题,请参考以下文章