如何在无公网IP环境使用Windows远程桌面Ubuntu

文章目录

    • 一、 同个局域网内远程桌面Ubuntu
    • 二、使用Windows远程桌面连接
    • 三、公网环境系统远程桌面Ubuntu
      • 1. 注册cpolar账号并安装
      • 2. 创建隧道,映射3389端口
      • 3. Windows远程桌面Ubuntu
    • 四、 配置固定公网地址远程Ubuntu
      • 1. 保留固定TCP地址
      • 2. 配置固定的TCP地址
      • 3. 使用固定TCP地址远程Ubuntu

本篇文章主要介绍在Ubuntu上安装XRDP远程桌面,实现同个局域网内远程桌面Ubuntu,同时解决远程桌面登录蓝屏的问题。并做内网穿透,使用cpolar内网穿透映射3389端口,生成公网TCP端口地址,实现在公网环境下,远程桌面Ubuntu系统。

【cpolar内网穿透支持http/https/tcp协议,支持永久免费使用,不限制流量,无需公网IP,也不用进入路由器设置,操作简单。】

一、 同个局域网内远程桌面Ubuntu

本篇教程适用Ubuntu版本:

  • Ubuntu 20.04.x
  • Ubuntu 22.04.x
  • Ubuntu 23.04.x
  • Ubuntu 23.10.x

下载xrdp脚本

wget https://www.c-nergy.be/downloads/xRDP/xrdp-installer-1.4.8.zip

解压缩文件

unzip xrdp-installer-1.4.8.zip 

将脚本下载到本机系统,提取内容并标记为可执行文件

chmod +x xrdp-installer-1.4.8.sh

运行服务

./xrdp-installer-1.4.8.sh 

查看IP地址

ifconfig

如图:本例中,获取Ubuntu主机IP为192.168.149.135

image-20231220175217176

注意:重启一下Ubuntu主机,不要登陆账户

dd3d96700087f8ed6315145dd5fa6f0

二、使用Windows远程桌面连接

在局域网,找到另一台Windows主机,打开远程桌面连接,输入Ubuntu主机的IP地址,点击连接。

image-20231220175425020

输入Ubuntu主机的IP地址,以及用户名密码。

image-20231220175613079

点击 OK 按钮进行远程连接。

71f340abf88aba0e9fdb75760bb6bf2

现在,已经远程桌面连接成功了。

三、公网环境系统远程桌面Ubuntu

在没有公网IP的环境下,要实现远程桌面连接,可以通过cpolar内网穿透来实现,映射3389端口。

1. 注册cpolar账号并安装

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口 即:【http://局域网ip:9200】,使用cpolar账号登录(如没有账号,可以点击下面免费注册),登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

在这里插入图片描述

2. 创建隧道,映射3389端口

登录进入cpolar web UI管理界面后,点击左侧隧道管理——创建隧道,创建一条tcp隧道

  • 隧道名称:xrdp(可自定义,注意不要重复)
  • 协议:tcp(支持http/https/tcp)
  • 本地地址:3389
  • 端口类型:随机临时TCP端口
  • 地址:选择China Top

在这里插入图片描述

隧道创建成功后,Ubuntu主机重新启动,不需要登录。

在Windows里进入Cpolar官网,登录账号,点击左侧 状态,找到刚才创建的隧道名称

复制tcp://后面 端口地址 (例如18.tcp.cpolar.top:14743)

image-20231221155827640

3. Windows远程桌面Ubuntu

Windows电脑打开远程桌面连接,输入所生成的公网tcp端口地址,点击连接

image-20231221160046808

点击“是”

在这里插入图片描述

输入Ubuntu系统的用户名密码,点击"OK"

9a68d33d9f54f815c25d73a48f2c8a8

远程桌面登录成功,实现在公网环境下Windows远程桌面连接Ubuntu系统

800e856e82076cd3e224fb649792d27

需要注意,本文中使用的是免费的cpolar套餐所生成的随机临时公网地址,每隔24小时就会发生变化,且带宽较小。

每一次登录都需要重新创建隧道并且需要进到cpolar官网的状态里查看公网隧道地址,对于有长期远程桌面需求的用户,建议将cpolar套餐升级到专业套餐,支持配置固定的公网TCP端口,且带宽也会相应的增大,支持更高效便捷的远程桌面连接Ubuntu系统。

四、 配置固定公网地址远程Ubuntu

1. 保留固定TCP地址

登录cpolar官网后台,点击左侧的预留,找到保留的TCP地址:

  • 地区:选择China VIP
  • 描述:即备注,可自定义填写

点击保留

image-20231221161029155

固定TCP地址保留成功,系统生成相应的公网地址+固定端口号,将其复制下来

image-20231221161155216

2. 配置固定的TCP地址

浏览器访问http://127.0.0.1:9200/登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到刚才创建的code隧道,点击右侧的编辑

a5e2f4a290d2080a6576c4d7bed9163

修改隧道信息,配置固定TCP端口地址:

  • 端口类型:改为选择固定TCP端口
  • 预留的TCP地址:填写刚刚保留成功的固定TCP端口地址

点击更新

image-20231221161429846

提示更新隧道成功,点击左侧仪表盘的状态——在线隧道列表,可以看到刚刚修改的隧道的公网地址已经更新为固定TCP端口地址,将其复制下来。

image-20231221161537281

重启Ubuntu主机,无需登录

image-20231221162011738

3. 使用固定TCP地址远程Ubuntu

把刚才复制的公网地址粘贴到Windows的远程连接中(输入tcp://后面隧道地址),点击连接

image-20231221161737119

继续输入Ubuntu用户名和密码

image-20231221162243378

点击连接,远程桌面登录成功,实现在公网环境下Windows远程桌面连接Ubuntu系统

d1836b0d91e0629b2c468e90cb0c423

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/587380.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

appium安装运行报错的解决方案

appium版本2.3 java17 运行报错: Caused by: org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: An unknown server-side error occurred while processing the command. Original error: Could not…

40道MyBatis面试题带答案(很全)

1. 什么是MyBatis (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接…

海康visionmaster-渲染结果:通过绑定流程或模块获取 渲染结果的方法

描述 环境:VM4.0.0 VS2015 及以上 现象:方案或流程运行执行之后,就可以获取结果,可以通过获取渲染结果和数据结果, 渲染结果通过绑定渲染控件进行显示。 解答 渲染结果的显示可以通过渲染控件绑定流程或者模块&#x…

RSA加密解密——用shell加密java解密

功能描述 使用shell opensll对明文进行RSA加密,将密文用java的RSA工具对密文解密。这应该是全网第一个同时用到shell和java的RSA加密解密教程。中间有很多坑,都踩过了,可以放心使用代码。 正确的实现流程 shell端 首先生成公钥私钥 &…

【华为机试】2023年真题B卷(python)-冠亚军排名-奖牌榜排名

一、题目 题目描述: 2012伦敦奥运会即将到来,大家都非常关注奖牌榜的情况,现在我们假设奖牌榜的排名规则如下. 1.首先gold medal数量多的排在前面 2.其次silver medal数量多的排在前面 3.然后bronze medal数量多的排在前面 4.若以上三个条…

【数据结构】栈和队列(栈的基本操作和基础知识)

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 目录 前言 栈 栈的概念和结构 栈的实现 ​…

【时钟】分布式时钟HLC|Logical Time|Vector Clock|True Time

目录 简略 详细 附录 1 分布式系统不能使用NTP的原因 简略 分布式系统中不同于单机系统不能使用NTP(网络时间协议(Network Time Protocol))来获取时间,所以我们需要一个特别的方式来获取分布式系统中的时间,mvcc也是使用time保证读…

信号处理设计模式

问题 如何编写信号安全的应用程序? Linux 应用程序安全性讨论 场景一:不需要处理信号 应用程序实现单一功能,不需要关注信号 如:数据处理程序,文件加密程序,科学计算程序 场景二:需要处理信…

HTML---利用CSS3制作网页动画

文章目录 目录 文章目录 本章目标 一.CSS3概述 CSS函数概述 二.CSS3变形 transform属性 translate():平移函数 scale():缩放函数 rotate():旋转函数 skew():倾斜函数 三.CSS3过渡 四.CSS动画 练习 旋转按钮 本章目标 会使用…

“从零到一“基于Freeswitch二次开发: 应用架构设计(二)

一、架构分享 上一篇文章“从零到一“基于Freeswitch二次开发:Freeswitch入门与网络架构 (一) 对Freeswitch二次开发做了一个介绍,距离这篇文章的发布时间有点久了,之前一直没时间把下文补上来。正好到了年末想起来,就把我们的一个实现架构进…

深度神经网络结构

单层的感知机不能解决“异或”问题。 在前面分别介绍了M-P神经元模型和感知机模型。在M-P神经元模型中,神经元接收到若干个输入信号,并将计算得到的加权后的总输入,经过激活函数的处理,最终产生神经元的输出。而感知机模型则由两层…

腾讯云标准型S5服务器2核2G、2核4G和4核8G五年机来了

腾讯云五年特价服务器来了,标准型S5云服务器,可选2核2G、2核4G和4核8G配置,一次性购买五年低至2折,免去续费贵烦恼。腾讯云百科txybk.com分享腾讯云5年服务器特价优惠活动、购买条件、云服务器配置及优惠价格: 腾讯云五…

linux文件夹介绍

在linux内核文件夹下面存在着许多文件夹,那么那些文件夹是什么用处呢,下面将为你介绍。 (1)documentation 这个文件夹下没有内核代码,仅仅有一套实用的文档,但这些文档的质量不一。比如内核文档的文件系统,在该文件夹下…

计算机网络——传输层(五)

前言: 最重要的网络层我们已经学习完了,下面让我们再往上一层,对网络层的上一层传输层进行一个学习与了解,学习网络层的基本概念和网络层中的TCP协议和UDP协议 目录 ​编辑一、传输层的概述: 1.传输层: …

leetcode 315. 计算右侧小于当前元素的个数(hard)【小林优质解法】

链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 代码: class Solution {int[]counts; //用来存储结果int[]index; //用来绑定数据和原下标int[]helpNums; //用于辅助排序 nums 数组int[]helpIndex; //用于辅助排序 i…

《Linux系统与网络管理》复习题库---shell编程题

1、shell 编程题:在根目录下有四个文件 m1.c,m2.c,m3.c,m4.c,用 Shell 编程,实现自动创建 m1,m2,m3,m4 四个目录,并将 m1.c,m2.c,m3.c,m4.c 四个文件分别剪贴到各自相应的目录下。 #!/bin/bash…

go module本地包导入

go module本地包导入 本文目录 go module本地包导入启用go mod主项目工作目录本地module目录发布和使用模块 golang 1.11之后加入了go mod来替代GOPATH 官方文档参考:https://golang.google.cn/doc/tutorial/call-module-code 启用go mod 开启 Go modules # 临时开…

【谭浩强C程序设计精讲 5】运算符和表达式

文章目录 3.3 运算符和表达式3.3.1 C运算符3.3.2 基本的算术运算符3.3.3 自增()、自减(--)运算符3.3.4 算术表达式和运算符的优先级与结合性3.3.5 不同类型数据间的混合运算3.3.6 强制类型转换运算符 3.3 运算符和表达式 3.3.1 C…

【Java】一文讲解Java类加载机制

Java 类加载机制是 Java 运行时的核心组成部分,负责在程序运行过程中动态加载和连接类文件,并将其转换为可执行代码。理解类加载机制,能更容易理解你一行行敲下的Java代码是如何在JVM虚拟机上运行起来。并且理解类加载机制之后,我…

DevOps持续交付之容器化CICD流水线

DevOps持续交付 随着DevOps⼤规模化的落地和应⽤,持续集成以及持续交付已经是⼀种常态的。CI指的是持续集成,使⽤的开源⼯具是Jenkins,CD指的是持续交付和持续部署,⼀个完整的软件开发⽣命周期为: 主要流程可以具体为: 构建阶段…