ubuntu VNC远程连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu VNC远程连接相关的知识,希望对你有一定的参考价值。

参考技术A

对于Ubuntu18.04的远程桌面,其官方默认内置了vino远程服务,这个服务原生兼容VNC协议,然而还有很多VNC的老用户可能正在经历类似的折腾:

" 网上搜索引擎能够找到任何有关ubuntu 18.04之后的配置VNCServer的文章都不太适合使用现在的Ubuntu系统 ".

Ubuntu 18.04之后的vino服务是托管两个服务sshd和vnc因此,因此我们按照如图在设置窗口找到共享->屏幕共享

首先查看你当前网络环境下主机的地址,就本文而言,我的公司内网的地址是 192.168.50.107 ,这是我服务器机房会用到的一个测试地址。

如果你打算这样做的话,最好购买一些商业版本的VNC Viewer 客户端,这些客户端在连接安全方面提供良好的加密算法。回到正题,外网穿透无非几种技术,我这里只介绍虚拟服务,我们只要设置好内部主机的端口,和外部公网IP的端口即可。

使用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连接工具

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

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远程连接的主要内容,如果未能解决你的问题,请参考以下文章

阿里云ECS使用vnc远程连接(Ubuntu + CentOS)

windows 使用vnc图形化界面远程连接阿里云ubuntu 16.04云服务器

Ubuntu 16.04配置VNC进行远程桌面连接

如何远程连接Ubuntu 14.04 Server 的图形界面

ubuntu怎么连接centos远程桌面

Ubuntu使用VNC远程连接分辨率问题