我启用了 gnome-remote-desktop 服务并尝试从 Windows 计算机进行连接。当我运行以下命令时,systemctl --user status gnome-remote-desktop.service
我可以看到该服务处于活动状态并正在运行。但是,每次我尝试连接时,服务都会抛出此错误:Jun 04 11:20:04 <HOSTNAME> gnome-remote-de[13291]: [RDP] Username is not set, denying client
显然,我已经按照以下方式在 Windows RDP 客户端上设置了用户名:
主机名显然是正确的,防火墙也不是问题,因为 gnome-remote-desktop 服务每次点击连接时都会看到连接请求,并抛出此用户名未设置消息。
答案1
该消息[RDP] Username is not set, denying client
不是指客户端的凭证,而是指存储在服务器端的密钥环中的凭证。
gnome-control-center 中的远程桌面面板设置密钥环中的凭据。收到新连接后,gnome-remote-desktop (grd) 会读取这些凭据并创建 SAM 数据库,然后将其提供给 FreeRDP,实际身份验证在此进行。
[RDP] Username is not set, denying client
当 grd 读取从其 API 调用收到的凭证时,它会发出消息NULL
,但不会设置错误。
这发生在两种情况下:
- 凭证确实没有设置(密钥环守护进程找不到任何东西)
- 密钥环未解锁。密钥环使用用户密码加密。当用户使用密码在服务器端本地登录时,它会自动解锁,因为用户密码会直接转发到密钥
login
环,这通常是默认密钥环。
如果您使用自动登录,则不会输入用户密码,因此密钥环无法解锁,因为没有输入密码。
您可以在自动登录后手动解锁服务器端的密钥环,例如,searhorse
先启动(用于管理密钥环的 GUI)并打开默认密钥环。
然后 Seahorse 将要求输入用户密码,然后解锁密钥环。