我已经在 Intel NUC 上的 Ubuntu 22.04 LTS 上设置了 CCTV。我希望能够远程访问 PC 以进行故障排除,并且希望有一个用于远程桌面的图形界面。到目前为止,我尝试过的软件要么在登录屏幕显示时无法启动(因此重启时无法使用远程桌面),要么根本不起作用。
我想从头开始。我目前可以使用这台电脑,但未来几个月内不会再使用它。我将重新安装所有内容,并希望得到以下功能的指导和建议 -
- 带有 GUI 的远程桌面
- 重启后在登录屏幕上工作
- 与 XFCE 稳定(因为轻量)
- 安全的
答案1
安装RealVNC 服务器在您想要访问的 PC 上。
创建一个 Real VNC 帐户并登录 VNC 服务器。
安装RealVNC 查看器在您将用来控制第一台计算机的计算机/手机上。然后,使用您的 Real VNC 帐户登录,另一台计算机应该会出现。
VNC 服务器甚至在登录屏幕上也能工作,因此您可以使用它进行远程登录。
答案2
为了简化连接而不损害安全性,我更喜欢使用 Wireguard 或 Tailscale 等 VPN 来建立永久活动且高度加密的隧道。由于连接是通过隧道点对点的,因此它们无法在 PC 和远程主机之外的任何地方被篡改。
Wireguard 是 Tailscale 的基础,并且是开源的,但需要进行一些调整才能为节点生成密钥并编辑文件。它并不太复杂,但需要一些工作。相反,Tailscale 对于有限数量的节点是免费的,并且仅使用电子邮件帐户即可配置它以注册节点,因为它会自动生成/更新密钥而无需用户干预。无论如何,Tailscale 网站上有关于所用技术的有趣信息/描述,值得一读。
安装 Wireguard (wireguard.com)或 Tailscale(tailscale.com) 在服务器和本地 PC/笔记本电脑中。安装/配置后,这样创建的 VPN 隧道将使用安全算法加密,永久存在,并且需要的维护最少(如果没有)。使用其中一个或另一个,您可以获得/配置一个特殊的 IP 地址来识别 PC 和服务器节点。
在服务器中安装tightvnc(Ubuntu 20.04/xfce 教程),并确保在服务器防火墙中授权进出VPN隧道接口的输入/输出流量。
在 PC 上启动您最喜欢的 VNC 客户端并连接到远程服务器隧道 IP 地址(或使用 tightvnc web 界面,无需在 PC 上安装专用客户端)。即使使用的 VNC 客户端/服务器不加密通信,它们也受 VPN 保护。
奖励:如果您在服务器中激活其他服务(例如 SSH),则可以通过 VPN 以最小的开销访问它们,因此您可以传输文件等。您可以向 VPN 网络添加更多节点并拥有多个访问点(如果您愿意,可以是多个用户)。
答案3
射线衍射
通过Ctrl++打开终端并输入:AltT
sudo apt install xrdp
系统将提示您输入密码。输入密码时光标不会移动。这是正常现象。
如果您ufw
启用了(简单防火墙),则必须使用以下命令打开端口 3389:
sudo ufw allow 3389
如果您使用下面描述的“ssh 隧道”,则无需打开端口 3389。
xrdp
使用以下命令验证服务器是否已启动并正在运行:
sudo systemctl status xrdp
记得退出
本地注销是最重要的部分。如果您通过物理方式登录计算机并连接键盘、鼠标、显示器等,则xrdp
在您注销之前将无法正常工作。
xrdp
关于本地和远程登录的注意事项
不要使用计算机启动时自动登录桌面!
与 Windows 中的 RDP 不同,xrdp
只有在以下情况下才有效:未登录到远程计算机本地。这意味着您亲自前往远程计算机并登录,然后不注销就离开计算机,xrdp
这是行不通的。
同样,通过远程登录时,xrdp
您可以断开连接而不注销,会话将继续。但是,在这种情况下,您将无法登录本地直到您远程注销。
对于无头计算机来说这不是问题,因为您从未在本地登录过。
安全
此时这台远程计算机的安全性取决于您的登录密码的复杂程度和长度。任何黑客都可以尝试猜测您的用户 ID 和密码。设置一个非常长且复杂的密码。
SSH 隧道
如果你用来访问此远程英特尔 NUC 的计算机运行的是 Ubuntu(或其他 Linux),则可以使用远程应用程序雷米娜并使用“ssh 隧道”。为此,您需要在 Intel NUC 中设置 ssh 服务器。
看在家庭局域网中使用 SSH 连接两台计算机了解如何使用基于密钥的身份验证来设置 ssh 服务器。
一旦基于密钥的 ssh 身份验证工作正常,请禁用基于密码的 ssh 身份验证。为 ssh 打开端口 22:
sudo ufw allow 22
删除“允许 3389”规则如果您之前已经设置过。
如果您使用 ssh 隧道,您可能希望 xrdp 仅接受来自本地主机的连接。
编辑文件 /etc/xrdp/xrdp.ini 并注释掉(用 ;)该行:
;port=3389
并根据此文件中的示例添加此行:
port=tcp://.:3389
然后使用以下命令重新启动服务:
sudo service xrdp restart
设置 Remmina 以使用 xrdp 和 ssh 隧道
编辑您在 Remmina 中为远程连接设置的 XRDP 连接的设置,然后转到SSH Tunnel如下所示的选项卡:
确保已启用/选中以下内容:
- 启用 SSH 隧道
- 通过环回地址建立隧道
- 同一服务器,端口 22
如上图所示。保存新的 Remmina 设置并尝试连接。如果一切顺利,只有您能够连接到您的xrdp
服务器,而其他人则无法连接到。
希望这可以帮助