【Ubuntu】Windows远程Ubuntu系统

步骤


  1. 开启ssh服务并开放22端口
  2. 关闭防火墙ufwiptables ;或者将远程端口添加到入站与出站规则
  3. 安装xrdp并将xrdp用户添加到ssl-cert用户组
  4. mstsc 远程,输入账号密码
    在这里插入图片描述
    在这里插入图片描述

1、开启ssh服务

1.1. 查看ssh是否已经开启

sudo ps -e | grep ssh

如果最后返回是sshd,证明ssh已经开启,跳到第四步


    632 ?        00:00:00 sshd
  20915 ?        00:00:00 ssh-agent

1.2. 开启ssh服务

如果没有显示,试着开启ssh服务

sudo /etc/init.d/ssh start

如果返回的是命令未找到,证明未安装ssh服务


Starting ssh (via systemctl): ssh.service.

1.3 安装openssh服务

  1. 安装openssh服务查看服务有没有开启
sudo apt-get install openssh-server
  1. 查看服务有没有开启
sudo ps -e | grep ssh
  1. 如果没有就开启,启动openssh服务
sudo /etc/init.d/ssh start

1.4 检查ssh默认开放22端口

检查防火墙有没有开放20端口(ssh默认开放22端口,如果修改可看第五步)

1.41 使用 netstat 进行查看

netstat -an | grep 22

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
unix  2      [ ACC ]     流        LISTENING     242254   @/tmp/dbus-r4rAjh2Fcv
unix  2      [ ACC ]     流        LISTENING     18822    /run/systemd/private
unix  2      [ ACC ]     流        LISTENING     242279   /home/signway/.pcsc10/pcscd.comm
unix  2      [ ]         流        已连接     42234    @/tmp/dbus-XLRsuygY
unix  3      [ ]         流        已连接     234122   @/tmp/dbus-EKhrJLaYQU
unix  3      [ ]         流        已连接     234227   
unix  3      [ ]         流        已连接     242322   @/tmp/.X11-unix/X10
unix  3      [ ]         流        已连接     235224   @/tmp/dbus-EKhrJLaYQU
unix  3      [ ]         流        已连接     179221   /run/containerd/containerd.sock
unix  3      [ ]         流        已连接     242255   
unix  3      [ ]         流        已连接     243227   @/tmp/dbus-LY2CUzKESO
unix  3      [ ]         流        已连接     243229   
unix  3      [ ]         流        已连接     241322   /run/systemd/journal/stdout
unix  3      [ ]         流        已连接     242230   
unix  3      [ ]         流        已连接     42253    /run/systemd/journal/stdout
unix  3      [ ]         流        已连接     243922   
unix  3      [ ]         流        已连接     243422   
unix  3      [ ]         流        已连接     234228   
unix  3      [ ]         流        已连接     35022    /run/dbus/system_bus_socket
unix  3      [ ]         流        已连接     240322   @/tmp/dbus-LY2CUzKESO
unix  3      [ ]         流        已连接     36922    /run/systemd/journal/stdout
unix  3      [ ]         流        已连接     242232   /run/xrdp/sockdir/xrdp_chansrv_socket_10
unix  3      [ ]         流        已连接     234222   @/tmp/dbus-EKhrJLaYQU
unix  3      [ ]         流        已连接     35223    /run/systemd/journal/stdout

1.4.2 使用 ufw 查看

ufw status

bash: ufw:未找到命令

1.4.3 安装 ufw

如果查看bash: ufw:未找到命令,需要安装

sudo apt-get install ufw

正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列【新】软件包将被安装:
  ufw
升级了 0 个软件包,新安装了 1 个软件包, 要卸载 0 个软件包,有 101 个软件包未被升级。
需要下载 148 kB 的归档。
解压缩后会消耗 849 kB 的额外空间。
获取:1 http://mirrors.aliyun.com/ubuntu-ports focal-updates/main arm64 ufw all 0.36-6ubuntu1.1 [148 kB]
已下载 148 kB,耗时 0秒 (626 kB/s)
正在预设定软件包 ...
正在选中未选择的软件包 ufw。
(正在读取数据库 ... 系统当前共安装有 132750 个文件和目录。)
准备解压 .../ufw_0.36-6ubuntu1.1_all.deb  ...
正在解压 ufw (0.36-6ubuntu1.1) ...
正在设置 ufw (0.36-6ubuntu1.1) ...

Creating config file /etc/ufw/before.rules with new version

Creating config file /etc/ufw/before6.rules with new version

Creating config file /etc/ufw/after.rules with new version

Creating config file /etc/ufw/after6.rules with new version
Created symlink /etc/systemd/system/multi-user.target.wants/ufw.service → /lib/systemd/system/ufw.service.
正在处理用于 systemd (245.4-4ubuntu3.22) 的触发器 ...
正在处理用于 rsyslog (8.2001.0-1ubuntu1.3) 的触发器 ...

1.4.4 使用 ufw 查看

ufw status

WARN: uid 是 0 但是 “/etc/default” 属于 1000
WARN: uid 是 0 但是 “/etc” 属于 1000
WARN: uid 是 0 但是 “/lib” 属于 1000
WARN: uid 是 0 但是 “/usr/sbin” 属于 1000
WARN: uid 是 0 但是 “/usr” 属于 1000
状态:不活动


  • 状态:不活动 - 防火墙已关闭
  • 状态:

1.4.5 启用防火墙

sudo ufw enable

[sudo] signway 的密码:
WARN: uid 是 0 但是 “/etc/default” 属于 1000
WARN: uid 是 0 但是 “/etc” 属于 1000
WARN: uid 是 0 但是 “/lib” 属于 1000
WARN: uid 是 0 但是 “/usr/sbin” 属于 1000
WARN: uid 是 0 但是 “/usr” 属于 1000
ERROR: problem running ufw-init
iptables-restore v1.8.4 (legacy): Couldn't load match `limit':No such file or directory

Error occurred at line: 63
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
iptables-restore v1.8.4 (legacy): Couldn't load match`limit':No such file or directory

Error occurred at line: 8
Try `iptables-restore -h' or 'iptables-restore --help' for more information.

Problem loading ipv6 (skipping)
Problem running '/etc/ufw/before.rules'
Problem running '/etc/ufw/user.rules'

ufw运行报错时

一、使用 iptables 替代 ufw 的功能

在大多数情况下,最好不要同时运行 ufwiptables-restore。这是因为 ufw 本身实际上是一个基于 iptables 的前端工具,用于简化 iptables 的配置过程。当你启用 ufw 时,它会自动配置 iptables 规则。

如果你手动使用 iptables-restore 来加载自定义的 iptables规则,而且同时又启用了ufw` ,可能会导致规则冲突和意外行为。因此,最好的做法是选择其中一种方式来管理防火墙规则,而不是同时使用两者。

如果你更喜欢手动配置 iptables 规则,那么你可以停用 ufw 并直接使用 iptablesiptables-restore 来管理防火墙规则。反之,如果你喜欢使用 ufw 的简单性和易用性,那就不需要直接操作 iptables

无论你选择哪种方式,确保在配置防火墙规则时谨慎行事,并且经常测试以确保规则按预期生效。

二、可以尝试 - 内核添加配置在这里插入图片描述

1.4.6 使用 ufw 查看

sudo ufw status

WARN: uid 是 0 但是 “/etc/default” 属于 1000
WARN: uid 是 0 但是 “/etc” 属于 1000
WARN: uid 是 0 但是 “/lib” 属于 1000
WARN: uid 是 0 但是 “/usr/sbin” 属于 1000
WARN: uid 是 0 但是 “/usr” 属于 1000
ERROR: 运行时出现问题 ip6tables

注意:ci

1.4.7 关闭防火墙

sudo ufw disable

WARN: uid 是 0 但是 “/etc/default” 属于 1000
WARN: uid 是 0 但是 “/etc” 属于 1000
WARN: uid 是 0 但是 “/lib” 属于 1000
WARN: uid 是 0 但是 “/usr/sbin” 属于 1000
WARN: uid 是 0 但是 “/usr” 属于 1000
防火墙在系统启动时自动禁用


1.4.8 如果没有的话,开放22端口

sudo ufw allow 22

WARN: uid 是 0 但是 “/etc/default” 属于 1000
WARN: uid 是 0 但是 “/etc” 属于 1000
WARN: uid 是 0 但是 “/lib” 属于 1000
WARN: uid 是 0 但是 “/usr/sbin” 属于 1000
WARN: uid 是 0 但是 “/usr” 属于 1000
ERROR: initcaps
[Errno 2] modprobe: FATAL: Module ip6_tables not found in directory /lib/modules/5.10.160
ip6tables v1.8.4 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
Perhaps ip6tables or your kernel needs to be upgraded.

1.4.9 修改ssh端口(可跳过)

sudo vi /etc/ssh/sshd_config

1.4.10 ssh重启

sudo service sshd restart

1.4.11 防火墙生效并开机启动

sudo ufw enable

2、远程 xrdp

2.1 安装

sudo apt install xrdp

2.2 查看xrdp运行状态

sudo systemctl status xrdp

 xrdp.service - xrdp daemon
     Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-11-14 15:24:29 CST; 19h ago
       Docs: man:xrdp(8)
             man:xrdp.ini(5)
   Main PID: 702 (xrdp)
      Tasks: 2 (limit: 4522)
     Memory: 22.2M
     CGroup: /system.slice/xrdp.service
             ├─  702 /usr/sbin/xrdp
             └─20550 /usr/sbin/xrdp

11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[DEBUG] xrdp_wm_log_msg: connecting to sesman ip>
11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[INFO ] xrdp_wm_log_msg: sesman connect ok
11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[DEBUG] xrdp_wm_log_msg: sending login info to s>
11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[DEBUG] return value from xrdp_mm_connect 0
11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[INFO ] xrdp_wm_log_msg: login successful for di>
11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[DEBUG] xrdp_wm_log_msg: started connecting
11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[INFO ] lib_mod_log_peer: xrdp_pid=20550 connect>
11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[DEBUG] xrdp_wm_log_msg: connected ok
11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[DEBUG] xrdp_mm_connect_chansrv: chansrv connect>
11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[DEBUG] Closed socket 18 (AF_INET6 ::1 port 4023>

2.3 设置xrdp开机自动启动

sudo systemctl enable xrdp

Synchronizing state of xrdp.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable xrdp

2.4 将xrdp用户添加到ssl-cert用户组

默认情况下,xrdp 使用/etc/ssl/private/ssl-cert-snakeoil.key,它仅仅对ssl-cert用户组成语可读,所以需要运行下面的命令,将xrdp用户添加到这个用户组:

  1. 将xrdp 添加到 ssl-cert用户组
sudo adduser xrdp ssl-cert 
  1. 重启xrdp
sudo systemctl restart xrdp

3. 远程过程中的问题

3.1 黑屏问题

  1. 使用vim打开startwm.sh配置文件
sudo vim /etc/xrdp/startwm.sh
  1. 命令模式:键入指令i 进入 -- 插入 -- 模式
  2. -- 插入 -- 模式:在下图所示位置添加如下内容
...
unset DBUS_SESSION_BUS_ADDRESS

unset XDG_RUNTIME_DIR
...

在这里插入图片描述

  1. 使用Esc指令退出 -- 插入 -- 模式,进入 命令模式
  2. 命令模式:键入指令:wq!

保存并退出

:wq!

不保存并退出

:q!

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SQL基础理论篇(六):多表的连接方式

文章目录 简介笛卡尔积等值连接非等值连接外连接自连接其他SQL92与SQL99中连接的区别不同DBMS下使用连接的注意事项参考文献 简介 SQL92中提供了5类连接方式,分别是笛卡尔积、等值连接、非等值连接、外连接(左连接、右连接、全外连接(full outer join、全连接))和自…

SpringBoot整合Redis使用基于注解的缓存

环境准备 注解 EnableCaching CacheConfig CacheConfig 提供了一种在类级别共享公共缓存相关设置的机制。 | 参数 | 作用 | | | — | — | — | | cacheNames | 使用在类上的默认缓存名称 | | | keyGenerator | 用于类的默认KeyGenerator的bean名称 | | | cacheManager | 自定…

Android——模块级build.gradle配置——applicationId和namespace

官方地址: 配置应用模块-applicationId和namespace了解 build.gradle 中的实用设置。https://developer.android.google.cn/studio/build/configure-app-module?hlzh-cn 产生那些异常场景: Android:Namespace not specified. Please spec…

【编译原理】Chapter1概述

课程主要内容:程序设计语言编译程序构造的基本原理和基本实现技术 文章目录 什么是编译程序为什么要学编译原理计算思维(Computational Thinking)学习意义编译原理和方法的应用 编译过程概述词法分析语法分析中间代码生成优化目标代码产生 编译程序的结构编译程序总…

国内crm解决方案的主要提供商有哪些?对比7家

目前国内CRM服务商1410家,今年1-7月CRM服务商新注册19家。如何从众多服务商中挑选出合适的一家,无疑是一项耗时耗力的大工程。为此,本文将为根据国内外知名机构、媒体、网站发布、百度指数、行业知名度等维度考量,选择出7大CRM系统…

城市网吧视频智能监控方案,实现视频远程集中监控

网吧环境较为复杂,电脑设备众多且人员流动性大,极易发生人员或消防事故,亟需改变,TSINGSEE青犀AI智能网吧视频监管方案可以帮助实现对网吧环境和用户活动的实时监控和管理。 1、视频监控系统 在网吧内部布置高清摄像头&#xff0…

Microsoft发布了一份关于其产品安全修复的 11 月报告。

👾 平均每天有 50 多个漏洞被发现,其中一些会立即被网络犯罪分子利用。我们把那些现在很受网络犯罪分子欢迎,或者根据我们的预测,在不久的将来可能会被大量利用的漏洞称为趋势漏洞。 在攻击者开始利用这些漏洞之前 12 小时&#…

DocCMS keyword SQL注入漏洞复现 [附POC]

文章目录 DocCMS keyword SQL注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 DocCMS keyword SQL注入漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相关技术从事非法测…

蓝桥杯 map

map 代码示例 #include<iostream> #include<map> using namespace std; int main(){//创建并初始化mapmap<int,string> myMap{{1,"Apple"},{2,"Banana"},{3,"Orange"}} ;//插入元素myMap.insert(make_pair(4,"Grapes&qu…

【云原生-Kurbernetes篇】K8s的存储卷/数据卷+PV与PVC

这是一个目录标题 一、Kurbernetes中的存储卷1.1 为什么需要存储卷&#xff1f;1.2 存储卷概述1.2.1 简介1.2.2 volume字段 1.3 常用的存储卷类型1.3.1 emptyDir&#xff08;临时存储卷&#xff09;1.3.2 hostPath&#xff08;节点存储卷&#xff09;1.3.3 nfs1.3.4 cephfs 二、…

大功率电源芯片WD5030L

电源管理芯片作为现代电子设备中最关键的元件之一&#xff0c;直接影响着设备的性能和效率。而大功率电源芯片作为电源管理芯片中的一种&#xff0c;其性能和应用领域更加广泛。本文将介绍一款具有宽VIN输入范围、高效率和多种优良性能的大功率电源芯片WD5030L&#xff0c;并探…

SpringCloud-Gateway修改Response响应体,并解决大数据量返回不全等问题

官网相关案例&#xff1a; Spring Cloud Gatewayhttps://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#the-modifyresponsebody-gatewayfilter-factory ModifyRequestBodyGatewayFilterFactory类: https://github.com/spring-cloud/spring-cloud-gate…

五分钟k8s实战-Istio 网关

istio-03.png 在上一期 k8s-服务网格实战-配置 Mesh 中讲解了如何配置集群内的 Mesh 请求&#xff0c;Istio 同样也可以处理集群外部流量&#xff0c;也就是我们常见的网关。 其实和之前讲到的k8s入门到实战-使用Ingress Ingress 作用类似&#xff0c;都是将内部服务暴露出去的…

kafka分布式安装部署

1.集群规划 2.集群部署 官方下载地址&#xff1a;http://kafka.apache.org/downloads.html &#xff08;1&#xff09;上传并解压安装包 [zhangflink9wmwtivvjuibcd2e package]$ tar -zxvf kafka_2.12-3.3.1.tgz -C ../software/&#xff08;2&#xff09;修改解压后的文件…

qt笔记之qml和C++的交互系列(一):初记

code review! —— 杭州 2023-11-16 夜 文章目录 一.qt笔记之qml和C的交互&#xff1a;官方文档阅读理解0.《Overview - QML and C Integration》中给出五种QML与C集成的方法1.Q_PROPERTY&#xff1a;将C类的成员变量暴露给QML2.Q_INVOKABLE()或public slots&#xff1a;将C类…

网络编程TCP/UDP通信

1 网络通信概述 1.1 IP 和端口 所有的数据传输&#xff0c;都有三个要素 &#xff1a;源、目的、长度。 怎么表示源或者目的呢&#xff1f;请看图 所以&#xff0c;在网络传输中需要使用“IP 和端口”来表示源或目的。 1.2 网络传输中的 2 个对象&#xff1a;server 和 cl…

Linux操作系统 - 进程控制

目录 进程创建 进程退出 进程等待 进程替换 进程创建 在操作系统中&#xff0c;除了系统启动之后的第一个进程(根进程&#xff0c;1号进程)由系统来创建外&#xff0c;其余进程都必须由已存在的进程来创建。其中&#xff0c;这个新创建的进程叫做子进程&#xff0c;而创建…

Nginx(四) absolute_redirect、server_name_in_redirect、port_in_redirect 请求重定向指令组合测试

本篇文章主要用来测试absolute_redirect、server_name_in_redirect和port_in_redirect三个指令对Nginx请求重定向的影响&#xff0c;Nginx配置详解请参考另一篇文章 Nginx(三) 配置文件详解 接下来&#xff0c;在Chrome无痕模式下进行测试。 测试1&#xff1a;absolute_redi…

微软Surface/Surface pro笔记本电脑进入bios界面

微软Surface笔记本电脑进入bios界面 方法一推薦這種方法&#xff1a;Surface laptop 进BIOS步骤 开机后&#xff0c;不停按音量键进bios界面。 方法二&#xff1a;Surface Book、Surface Pro进bios步骤 1、关闭Surface&#xff0c;然后等待大约10秒钟以确保其处于关闭状态。…