因此,我使用 Guacamole 和 Google Cloud 为人们创建远程桌面环境。Guacamole 目前的工作原理如下:
- 在 Ubuntu 中创建用户
- Guacamole 中的克里特岛用户
- 在 Guacamole 中创建与 ubuntu 帐户的连接
- 连接他们的 Guacamole 帐户和连接。
我已经为几个用户尝试并测试了它,效果非常好。只有一个问题,我必须在 Ubuntu 中创建大量用户。而完成所有这些步骤将花费太多时间。那么有没有办法自动完成这一步?有没有办法减少创建单独的 Guacamole 帐户和连接,而是连接到 Ubuntu 中的用户帐户?
如果有帮助的话,我将使用 XFCE 作为环境并使用 xrdp 进行 RDP 连接。
谢谢!
答案1
我猜你已经找到了解决方案,但万一其他人发现这个问题:
据我所知,您不能使用主机操作系统来处理身份验证。
除非您有非常特殊的用例,否则您可以让 Guacamole 处理身份验证(使用数据库身份验证)。
但是如果您绝对必须有支持 Linux 帐户,那么您可以使用“adduser”命令和一些 bash 脚本添加这些帐户:
据我所知,Guacamole 没有可供您使用的命令行,但它有一个(基本上未记录的)REST API,您可以使用它来生成 Guacamole 用户、连接等。
我有一个正在进行的项目来包装它(虽然它是用于 Powershell,抱歉)@ https://github.com/Adicitus/ps-guacamole-api。
检查 readme.md 中的来源和“源”文件夹中的示例,例如:
- 创建新用户:https://github.com/Adicitus/ps-guacamole-api/blob/master/source/Users/New-GuacamoleAPIUser.ps1
- 创建新的 RDP 连接:https://github.com/Adicitus/ps-guacamole-api/blob/master/source/Connections/New-GuacamoleAPIRDPConnection.ps1
- 为连接分配权限:https://github.com/Adicitus/ps-guacamole-api/blob/master/source/Users/Set-GuacamoleAPIUserPermissions.ps1
如果您需要从Linux调用rest api,您可以使用“curl”命令: https://linux.die.net/man/1/curl
教程可在此处获取: https://www.baeldung.com/curl-rest
参见第 1 点。
从第 2 点查看存储库。
您需要授予用户至少对该连接的读取权限。
希望这对某人有帮助:)