π₯ Apache Guacamole
Guacamole is een clientless remote desktop gateway die toegang biedt tot je systemen via de browser.
Algemene Info
| Item | Waarde |
|---|---|
| Container | guacamole |
| Image | guacamole/guacamole:latest |
| Poort | 8083 |
| URL | guacamole.hub |
| Backend | guacd (daemon) + MySQL |
Functies
- β RDP - Windows Remote Desktop
- β VNC - Virtual Network Computing
- β SSH - Secure Shell
- β Browser-based - Geen client software nodig
- β File transfer - Bestanden up/downloaden
- β Clipboard sharing - KopiΓ«ren/plakken
- β Audio - Geluid doorsturen (RDP)
Geconfigureerde Verbindingen
| Naam | IP | Type | Desktop |
|---|---|---|---|
| Mini PC 1 - Ubuntu | 192.168.1.13 | RDP | GNOME |
| Mini PC 2 - Proxmox Ubuntu | 192.168.1.101 | RDP | XFCE |
Directe Links
Via Homer dashboard of direct:
- Mini PC 1:
http://guacamole.hub/guacamole/#/client/MQBjAG15c3Fs - Mini PC 2:
http://guacamole.hub/guacamole/#/client/MgBjAG15c3Fs
Inloggen
- Ga naar guacamole.hub
- Login met Guacamole credentials
- Klik op gewenste verbinding
- Login met systeem credentials van de doelmachine
Verbinding Toevoegen
RDP Verbinding (Windows/Ubuntu)
- Login als admin
- Settings β Connections β New Connection
- Vul in:
| Veld | Waarde |
|---|---|
| Name | Beschrijvende naam |
| Protocol | RDP |
| Hostname | IP adres |
| Port | 3389 |
| Username | (optioneel, of invullen bij connect) |
| Password | (optioneel) |
| Security mode | Any |
| Ignore certificate | Aanvinken (voor self-signed) |
- Klik Save
SSH Verbinding
- New Connection
- Protocol: SSH
- Vul in:
| Veld | Waarde |
|---|---|
| Name | Beschrijvende naam |
| Hostname | IP adres |
| Port | 22 |
| Username | SSH gebruiker |
| Authentication | Password of Private Key |
VNC Verbinding
- New Connection
- Protocol: VNC
- Vul in:
| Veld | Waarde |
|---|---|
| Name | Beschrijvende naam |
| Hostname | IP adres |
| Port | 5900 (standaard VNC) |
| Password | VNC wachtwoord |
Keyboard Shortcuts
| Actie | Shortcut |
|---|---|
| Menu openen | Ctrl+Alt+Shift |
| Clipboard | Via menu |
| Volledig scherm | Via menu |
| Verbinding sluiten | Via menu β Disconnect |
Menu
Druk Ctrl+Alt+Shift om het Guacamole menu te openen voor clipboard, bestandsoverdracht en meer.
Bestandsoverdracht
Uploaden (naar remote systeem)
- Open Guacamole menu (Ctrl+Alt+Shift)
- Klik op Devices
- Sleep bestand naar het venster
- Bestand verschijnt in home directory of gekozen locatie
Downloaden (van remote systeem)
- Open Guacamole menu
- Klik op Devices
- Navigeer naar bestand
- Klik om te downloaden
RDP vereist
Bestandsoverdracht werkt het beste met RDP. SSH ondersteunt SFTP.
Clipboard Delen
- Open Guacamole menu (Ctrl+Alt+Shift)
- Klik Clipboard
- Plak tekst in het tekstveld
- Tekst is nu beschikbaar in remote sessie
Andersom: 1. Kopieer tekst in remote sessie 2. Open Guacamole menu 3. Tekst staat in Clipboard veld 4. Kopieer naar lokaal systeem
Troubleshooting
Verbinding mislukt
Symptomen
- "Connection failed" error
- Zwart scherm
Checklist:
-
Ping de doelmachine:
-
Check of RDP/SSH draait:
-
Check Guacamole logs:
-
Firewall op doelmachine:
- Ubuntu:
sudo ufw allow 3389 - Windows: RDP inschakelen in settings
RDP naar Ubuntu werkt niet
Symptomen
- Verbinding lukt, maar zwart scherm
- Login scherm verschijnt niet
Oplossingen:
- GNOME Remote Desktop (Ubuntu 24.04):
- Settings β Sharing β Remote Desktop β Enable
-
Set password
-
xrdp installeren (alternatief):
-
Na login zwart scherm:
- Log eerst uit op de lokale desktop
- RDP en lokale sessie kunnen niet tegelijk
Toetsenbord layout verkeerd
Oplossing:
- Bewerk verbinding
- Ga naar Parameters
- Set Keyboard layout naar juiste taal
- Opties:
nl-nl-qwerty,en-us-qwerty
Trage verbinding
Optimalisaties:
- Bewerk verbinding
- Verlaag Color depth (16-bit)
- Zet Disable audio aan
- Zet Disable printing aan
- Verlaag Resize method naar "Display update"
Clipboard werkt niet
RDP: 1. Bewerk verbinding 2. Check dat Enable clipboard aan staat
SSH: - Clipboard werkt niet native in SSH - Gebruik Guacamole menu clipboard
Admin Taken
Gebruiker Toevoegen
- Settings β Users β New User
- Vul in:
- Username
- Password
- Permissions (welke verbindingen)
- Save
Connection Group Maken
Organiseer verbindingen in groepen:
- Settings β Connections
- New Group
- Naam en locatie instellen
- Drag & drop verbindingen in groep
Docker Compose
guacamole:
image: guacamole/guacamole:latest
container_name: guacamole
restart: unless-stopped
ports:
- "8083:8080"
environment:
GUACD_HOSTNAME: guacd
MYSQL_HOSTNAME: guac-mysql
MYSQL_DATABASE: guacamole_db
MYSQL_USER: guacamole_user
MYSQL_PASSWORD: secure_password
depends_on:
- guacd
- guac-mysql
networks:
- proxy-net
- guac-net
guacd:
image: guacamole/guacd:latest
container_name: guacd
restart: unless-stopped
networks:
- guac-net
guac-mysql:
image: mysql:8.0
container_name: guac-mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: guacamole_db
MYSQL_USER: guacamole_user
MYSQL_PASSWORD: secure_password
volumes:
- ./guacamole/mysql:/var/lib/mysql
networks:
- guac-net
networks:
guac-net:
driver: bridge