About 3 years ago, I had a post to show how to use Portainer to deploy Guacamole
- Using Portainer to Deploy Guacamole As Web Based Remote Access Gateway (Updated) & KASM Installation
- Using Portainer and Docker to Deploy Guacamole Clientless Remote Desktop Gateway
- Deployment of KASM with Four Commands or Using Docker to Deploy
- Next Terminal - Another Interactive Auditing Bastion System (Simple to Install and Easy to Use)
- Fast Deploy Two Open Source Bastion Server Projects - Webterminal and Jumpserver
Pre-requirements
- - Free VPS from Oracle Cloud : https://youtu.be/E9dHA3NBbN8
- - Docker and Portainer installed - https://youtu.be/_gKl_wtY_Gg, https://youtu.be/puMzo6O7dF0
- - Nginx Proxy Manager (NPM) installed - https://youtu.be/_gKl_wtY_Gg
- - Own Domain (optional) - free domain : https://youtu.be/V1xnhqqg4Rw, https://youtu.be/zrhxb8swVGM
Deployment Using Docker Run Command
docker run \
-p 8080:8080 \
-v /root/data/docker_data/guacamole:/config \
flcontainers/guacamole
Deployment Using Portainer
Access Guacamole web portal
http://<public ip>:8080Access Linux Machines
RDP to access xRDP desktopAccess Windows Machines
"The remote desktop server is currently unreachable. If the problem persists, please notify your system administrator, or check your system logs."
Guacamole apparently doesn't work with Windows 10 or Windows Server 2016 RDP naturally so you have to edit the registry to make it work.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
Change “SecurityLayer” value to 1 (Original value is 2)
Verify “UserAuthentication” value is 0 (Original value is 1)
Source: https://mangolassi.it/topic/17846/make-windows-10-server-2016-rdp-work-with-guacamole/2
Enabling Extensions
-e EXTENSIONS
variable. Multiple extensions can be enabled using a comma separated list without spaces.For example:
docker run \
-p 8080:8080 \
-v </path/to/config>:/config \
-e "EXTENSIONS=auth-ldap,auth-duo"
maxwaldorf/guacamole
Extension List:
- auth-duo
- auth-header
- auth-jdbc-mysql
- auth-jdbc-postgresql
- auth-jdbc-sqlserver
- auth-json
- auth-ldap
- auth-quickconnect
- auth-sso-openid
- auth-sso-saml
- auth-sso-cas
- auth-totp
Troubleshooting
Bad gateway when accessing portal
连接rdp协议的windows7或者windows server 2008直接断开?
因为freerdp的一个问题导致的,把 设置>RDP 下面的禁用字形缓存打开即可。 详情可参考 https://issues.apache.org/jira/browse/GUACAMOLE-1191
Note: https://next-terminal.typesafe.cn/faq/#docker%E5%AE%89%E8%A3%85%E5%A6%82%E4%BD%95%E6%9B%B4%E6%96%B0
KASM - A Container Based Streaming Platform
Running applications and desktop from browser.
1. Pre-Requisites
https://kasmweb.com/docs/latest/index.html
CPU | 2 cores |
Memory | 4GB |
Storage | 50GB (SSD) |
2. Four Commands to Install
cd /tmp curl -O https://kasm-static-content.s3.amazonaws.com/kasm_release_1.15.0.06fdc8.tar.gz tar -xf kasm_release_1.15.0.06fdc8.tar.gz sudo bash kasm_release/install.sh
Update Container with Latest Image
From Portainer: (Not for updating Portainer)
1. Stop Container (Remote-Guacamole)
2. Duplicate/Edit your stopped Container
3. Make sure you toggled "Always pull the image"
From Command line:
docker ps (retrieves container ID and containerImageName needed for next steps) docker stop containerID docker rm containerID docker rmi containerImageName docker run -d --restart=unless-stopped -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer:/data --name portainer portainer/portainer-ce:latest
Videos
References
- Docker安装Guacamole并使用Nginx反向代理为https
- 使用Apache Guacamole连接虚拟云桌面
- 部署Guacamole远程桌面网关服务
- Next Terminal Docker 安装
- 无需安装客户端!从任何地方远程访问一个或多个桌面!——部署Guacamole远程桌面网关服务
- https://github.com/flcontainers/guacamole
Hi thank you for this write up. I have installed docker, portainer, NPM and apache guac on a VM running debian 11. While guacamole is working and allows me to connect to a remote computer, i cannot seem to figure out how to enable file transfer permissions. I've added the environment variables in portainer and enabled in the guac UI settings, but when i attempt to transfer a file it says i dont have permissions to do it. I think it might have something to do with the user account that guacd is running on? Not sure but was hoping you might have some pointers. Thanks!
ReplyDelete