前言
XRDP是一种开源工具,它允许用户通过Windows RDP访问Linux远程桌面。 除了Windows RDP外,xrdp工具还接受来自其他RDP客户端(如FreeRDP、rdesktop和NeutrinoRDP )的连接。 相较于VNC,xrdp更加的轻量级。下面简单几步实现ubuntu XRDP+cpolar内网穿透工具,实现windows远程桌面控制ubuntu。
1. ubuntu安装XRDP
先更APT 包管理器
sudo apt update
下载安装 XRDP
sudo apt install xrdp
然后启动,如在启动提示错误,可能是端口冲突,重启设备再尝试
sudo systemctl start xrdp
查看状态,active表示成功
systemctl status xrdp
设置开机启动
sudo systemctl enable xrdp
远程桌面开关需要记得开启
2.局域网测试连接
局域网IP连接,先查看ip地址,输入以下命令查看:
ip address
以免连接出现问题,先在防火墙中添加一个3389端口
sudo ufw allow from any to any port 3389 proto tcp
然后记得退出登录,一定要记得,否则连接不上,这一步目的是让Ubuntu处于锁屏界面
然后打开windwos远程连接工具
输入我们上面查看的ubuntu局域网ip地址,然后点击连接
然后我们就看到了XRDP的界面,需要输入Ubuntu用户名和密码
输入后即可连接成功
3.安装cpolar内网穿透
接着使用cpolar穿透本地XRDP服务,使得windwos远程桌面可以远程进行访问。cpolar支持http/https/tcp协议,不限制流量,操作简单,无需公网IP,也无需路由器。
cpolar官网:https://www.cpolar.com/
安装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
- 向系统添加服务
sudo systemctl enable cpolar
- 启动cpolar服务
sudo systemctl start cpolar
- 查看服务状态
sudo systemctl status cpolar
正常显示为active
则表示服务为正常在线启动状态
在ubuntu系统本地安装cpolar内网穿透之后,在ubuntu浏览器上访问本地9200端口,或者在外部浏览器通过局域网ip地址访问9200端口,打开cpolar web ui 界面
登陆后点击左侧仪表盘的隧道管理——创建隧道,由于XRDP中是3389端口,因此我们要来创建一条tcp隧道,指向3389端口:
- 隧道名称:可自定义,注意不要重复
- 协议:tcp
- 本地地址:3389
- 端口类型:随机域名
- 地区:China vip
点击创建
创建成功后我们打开在线隧道列表复制创建的公网地址
4.cpolar公网地址测试访问
连接的时候,ubuntu一定是处于锁屏界面,否则连接不成功
打开windwos远程桌面,输入cpolar中创建的tcp公网地址,
然后出现输入用户名密码界面,输入用户名密码即可连接成功,
5.固定域名公网地址
在cpolar内网穿透中,上面创建的地址是随机的,24小时内变化,为了更加稳定的访问和连接,cpolar支持固定公网地址
需升级至专业套餐或以上才支持配置固定域名
登录cpolar官网后台,点击左侧仪表盘的预留
,找到保留的TCP地址
,为tcp隧道固定一个域名。
- 地区:选择服务器地区
- 描述:即备注,可自定义填写
修改完成后,点击`保留
域名地址保留成功后,我们将地址复制下来,接下来需要将其配置绑定到隧道中去。
登录cpolar web ui管理界面。点击左侧仪表盘的隧道管理
——隧道列表
,找到需要配置隧道,点击右侧的编辑
修改隧道信息,将固定的域名地址配置到隧道中:
- 端口类型:固定TCP端口`
- 预留的TCP地址:填写我们刚刚所保留复制的地址
修改完成后,点击更新
隧道更新成功后,点击左侧在线隧道列表
,可以看到隧道的公网地址,已经更新为官网保留固定的域名了
然后使用cpolar中固定的TCP地址进行连接
输入用户名和密码
即可远程成功