1.4. 连接到单个用户的无头服务器上的远程桌面会话
您可以通过 RDP (远程桌面协议)连接到无外设服务器上的远程桌面会话。无头服务器是在没有连接的监控器的情况下运行系统。您可以在无法进行直接物理访问的环境中,启动和管理 GNOME 桌面会话,以安全地管理服务器。
注意
用于访问此类会话的凭据与用户的系统凭证不同。例如,更改主机上的用户密码不会更新用于 RDP 访问的密码。
通过 RDP 协议连接到远程桌面需要设置 TLS 密钥和 TLS 证书。
先决条件
-
已安装
gnome-remote-desktop软件包。 -
已安装GDM 软件包。 -
已安装
freerdp软件包。 - 已安装 kiosk 会话或工作站会话等会话。如需更多信息,请参阅如何为 Red Hat Enterprise Linux 安装图形用户界面(GUI)?
- SELinux 以 permissive 模式运行。如需更多信息,请参阅将 SELinux 更改为 permissive 模式
流程
为自签名 TLS 证书创建一个目录:
mkdir -p ~/.local/share/gnome-remote-desktop
$ mkdir -p ~/.local/share/gnome-remote-desktopCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为 RDP 服务生成自签名 TLS 证书:
winpr-makecert -silent -rdp -path ~/.local/share/gnome-remote-desktop tls
$ winpr-makecert -silent -rdp -path ~/.local/share/gnome-remote-desktop tlsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 RDP 配置 GNOME 远程桌面:
grdctl --headless rdp set-tls-key ~/.local/share/gnome-remote-desktop/tls.key grdctl --headless rdp set-tls-cert ~/.local/share/gnome-remote-desktop/tls.crt grdctl --headless rdp set-credentials grdctl --headless rdp enable
$ grdctl --headless rdp set-tls-key ~/.local/share/gnome-remote-desktop/tls.key $ grdctl --headless rdp set-tls-cert ~/.local/share/gnome-remote-desktop/tls.crt $ grdctl --headless rdp set-credentials $ grdctl --headless rdp enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅
gdrctl手册页。为单用户服务启用无头服务器:
systemctl --user enable --now gnome-remote-desktop-headless.service
$ systemctl --user enable --now gnome-remote-desktop-headless.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以 root 用户身份为单个用户永久启动无头 GNOME 会话:
sudo systemctl enable --now gnome-headless-session@<your_username>.service
$ sudo systemctl enable --now gnome-headless-session@<your_username>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 <
your_username> 替换为您要启动无头 GNOME 会话的用户用户名。使
<your_username>.service在系统重启后持久保留:sudo systemctl set-default graphical.target
$ sudo systemctl set-default graphical.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证会话是否已成功启动:
sudo systemctl status gnome-headless-session@<your_username>.service
$ sudo systemctl status gnome-headless-session@<your_username>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow