该项目允许您轻松设置鳄梨酱跳转主机,具有可选的 TLS 反向代理(自签名或 Let's Encrypt)、Active Directory 集成、多重身份验证、快速连接和历史记录存储 UI 增强功能、自定义 UI 深色主题模板、自动数据库备份、电子邮件警报和内部强化选项,包括用于防御暴力攻击的fail2ban。还有类似于亚马逊鳄梨酱堡垒集群的企业部署选项。
将以下链接粘贴到终端并按照提示操作(不要以 root 身份运行,脚本将提示输入 sudo ):
wget https://raw.githubusercontent.com/itiligent/Guacamole-Install/main/1-setup.sh && chmod +x 1-setup.sh && ./1-setup.sh
兼容的操作系统:
Debian:12.x 或 11.x
Ubuntu LTS 变体:24.04、23.04、22.04
Raspbian Buster 或 Bullseye
每 25 个用户 1 个 CPU 核心 + 2GB RAM(加上您所选操作系统的最低 RAM 和磁盘空间)。
打开 TCP 端口:22、80 和 443(没有其他服务使用 80、8080 和 443)
如果选择任一 TLS 反向代理选项,则必须为内部代理站点创建一个 PRIVATE DNS 记录,如果选择 Let's Encrypt 选项,则必须创建一个额外的 PUBLIC DNS 记录。
已安装 Sudo 和 wget 软件包
运行1-setup.sh
的用户必须具有sudo权限
主要的1-setup.sh
脚本通过以下步骤指导安装:
设置系统主机名和本地 DNS 名称(本地 DNS 必须与 TLS 代理一致)。
选择本地 MySQL 安装或使用预先存在的本地或远程 MySQL 实例。
选择身份验证扩展:DUO、TOTP、LDAP/Active Directory 或无。
选择可选的控制台功能:快速连接和历史记录存储 UI 集成。
选择 Guacamole 前端:Nginx 反向代理(HTTP 或 HTTPS)或使用端口 8080 上的本机 Guacamole 接口。
新的服务器和客户端浏览器证书保存到$HOME/guac-setup/tls-certs/[date-time]/
。
(可选)按照屏幕上的说明进行客户端证书导入,以避免 https 浏览器警告。
如果您选择使用自签名 TLS 安装 Nginx:
要自定义许多可用的脚本选项:
在出现第一个提示时退出1-setup.sh
。
所有可配置的脚本选项都显示在1-setup.sh
开头的静默安装选项下。
静默安装选项的某些组合将允许完全无人值守的安装,支持大规模部署或高度定制的 Docker 构建。
进行更改后在本地重新运行编辑的脚本(不要重新运行自动安装 Web 链接 - 见下文。
其他自定义安装注意事项:
注意:重新运行自动安装程序会重新下载脚本套件,这将覆盖您的所有脚本编辑。因此,您必须在编辑后本地运行 1-setup.sh。如果编辑任何其他子脚本,则还必须注释掉 1-setup.sh 脚本中相应的下载链接。
升级脚本会根据您的特定安装设置自动自定义,以实现一致的未来更新。 (安装后从自动安装链接重新下载将覆盖上述所有自定义设置。)
Nginx 反向代理默认配置为至少 TLS 1.2。对于古老的系统,请参阅安装后/etc/nginx/nginx.conf
文件的注释部分。
每日 MySQL 备份作业会在脚本所有者的 crontab 下自动配置。
快速连接选项会带来一些额外的安全隐患,请注意您环境中的潜在风险。
安装后手动强化选项:
add-fail2ban.sh
:为 Guacamole 添加锁定策略,以防止暴力密码攻击。
add-tls-guac-daemon.sh
:将 guac 服务器和 guac 应用程序之间的内部流量封装在 TLS 中。
add-auth-ldap.sh
:用于简化 Active Directory 集成的模板脚本。
add-smtp-relay-o365.sh
:用于与 MSO65 集成电子邮件警报的模板脚本(BYO 应用程序密码)。
请遵循此处的主题和品牌说明。要恢复到默认主题,只需从/etc/guacamole/extensions
中删除 Branding.jar 文件,清除浏览器缓存并重新启动即可。
要续订自签名证书或更改反向代理本地 DNS 名称/IP 地址:
重新运行4a-install-tls-self-signed-nginx.sh
以创建新的 Nginx 证书(随附的浏览器客户端证书也将更新)。更改证书后务必清除浏览器缓存。
看这里。
看这里
要升级鳄梨酱,请在运行之前编辑upgrade-guacamole.sh
以反映最新版本的鳄梨酱和MySQL连接器/J。该脚本将自动更新 TOTP、DUO、LDAP、快速连接和历史记录存储扩展(如果存在)。
对于单独的数据库层:使用此处的install-mysql-backend-only.sh
安装 Guacamole MySQL 数据库的独立实例。
对于单独的应用程序层:运行1-setup.sh
并将新安装指向单独的数据库实例。只需拒绝“本地安装 MySQL”选项和任何其他本地反向代理安装选项即可。
对于单独的前端层:使用附带的 Nginx 安装程序脚本构建单独的 Nginx 前端层,然后应用您首选的 TLS 负载平衡技术。或者,与开源 Nginx 相比,AWS/Azure/GCP 负载均衡器或 HA 代理可以提供卓越的会话持久性和关联性。
自动运行链接将这些文件下载到$HOME/guac-setup
中:
1-setup.sh
:父安装脚本。
2-install-guacamole.sh
:鳄梨酱源构建和安装程序脚本。
3-install-nginx.sh
:Nginx安装脚本。
4a-install-tls-self-signed-nginx.sh
:安装/刷新自签名 TLS 证书脚本。
4b-install-tls-letsencrypt-nginx.sh
:Let's Encrypt for Nginx 安装程序脚本。
add-auth-duo.sh
:Duo MFA 扩展安装脚本。
add-auth-ldap.sh
:Active Directory 扩展安装程序模板脚本。
add-auth-totp.sh
:TOTP MFA 扩展安装程序脚本。
add-xtra-quickconnect.sh
:快速连接控制台扩展安装程序脚本。
add-xtra-histrecstore.sh
:历史记录存储扩展安装程序脚本。
add-smtp-relay-o365.sh
:O365 SMTP 身份验证中继设置脚本(BYO 应用程序密码)。
add-tls-guac-daemon.sh
:将 guacd 服务器和 Guacamole Web 应用程序之间的内部流量封装在 TLS 中。
add-fail2ban.sh
:Fail2ban(和鳄梨酱保护策略)安装程序脚本。
backup-guacamole.sh
:MySQL 备份设置脚本。
upgrade-guacamole.sh
:鳄梨酱应用程序、扩展和 MySQL 连接器升级脚本。
branding.jar
:用于自定义 Guacamole 的 UI 主题的基本模板。