前言 {#前言}
什么是Guacamole?
Apache Guacamole 是无客户端远程桌面网关,是基于 HTML5 的远程桌面控制框架。它支持标准协议,例如 VNC,RDP和SSH。
Guacamole是无客户端的远程桌面网关。它支持VNC,RDP和SSH等标准协议。 之所以称为无客户端,就是因为不需要插件或客户端软件。
感谢HTML5,一旦Guacamole安装在服务器上,你访问各种系统桌面就只需要一个Web浏览器。
关于 guacamole 更多的介绍,可以到这里看看:https://github.com/TelDragon/guacamole
一、效果展示 {#一效果展示}
GitHub项目地址:https://github.com/TelDragon/guacamole
官网地址:https://guacamole.apache.org/
Docker地址:https://hub.docker.com/r/jwetzell/guacamole
1、登录界面 {#1登录界面}
Guacamole登录后显示的页面:
2、VNC展示 {#2vnc展示}
"CentOS 7 TigerVNC"连接结果,主要测试TigerVNC,采用VNC协议
"Ubuntu x11vnc",测试x11vnc
3、RDP展示 {#3rdp展示}
"Windows 10(Test)"连接的结果展示,测试RDP
4、SSH展示 {#4ssh展示}
"CentOS SSH"连接结果,测试SSH
二、搭建环境 {#二搭建环境}
- 服务器:腾讯香港轻量应用服务器24元/月VPS一台(最好是选非大陆的服务器)(购买链接)
- 系统:Debian 10(DD脚本 非必需DD用原来的系统也OK)
- 域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程)
- 安装好Docker、Docker-compose(相关脚本)
- 【非必需二选一】安装好宝塔面板,并安装好Nginx(安装地址)
- 【非必需二选一】安装好Nginx Proxy Manager(相关教程)
三、搭建视频 {#三搭建视频}
YouTube:https://youtu.be/ynhsGY8rX-c
哔哩哔哩【完整版本可以点击去吐槽到B站观看】:
四、开始部署 {#四开始部署}
1、搭建Docker环境 {#1搭建docker环境}
参考这篇:【Docker系列】不用宝塔面板,小白一样可以玩转VPS服务器!
2、部署代码 {#2部署代码}
sudo su
cd \~
mkdir -p data/docker_data/guacamole
cd /root/data/docker_data/guacamole
`nano docker-compose.yml
`
docker-compose.yml文件内容:
version: "3"
services:
guacamole:
image: jwetzell/guacamole
container_name: guacamole
volumes:
- ./postgres:/config
ports:
- 8181:8080
volumes:
postgres:
driver: local
运行
docker-compose up -d
在浏览器中打开Guacamole Web应用,访问
http://ip:8181
默认账号:guacadmin
默认密码:guacadmin
建议新建一个用户,然后删除默认的账户。
3、放行相关端口 {#3放行相关端口}
遇到访问不了,请在宝塔面板的防火墙和服务商的后台防火墙里打开对应端口。
4、配置反向代理 {#4配置反向代理}
详情参考视频,注释掉Nginx配置文件中的这部分内容:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log off;
}
location ~ .*\.(js|css)?$
{
expires 12h;
error_log /dev/null;
access_log off;
}
代码如下:
location / {
proxy_pass http://127.0.0.1:8181/;
rewrite ^/(.*)$ /$1 break;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade-Insecure-Requests 1;
proxy_set_header X-Forwarded-Proto https;
}
5、测试连接 {#5测试连接}
SSH {#ssh}
RDP {#rdp}
返回首页,点击图标即可连接。
6、高级设置------两步验证(可选) {#6高级设置两步验证可选}
docker-compose.yml文件内容:
version: "3"
services:
guacamole:
image: jwetzell/guacamole
container_name: guacamole
volumes:
- ./postgres:/config
ports:
- 8181:8080
environment:
- EXTENSIONS=auth-totp
volumes:
postgres:
driver: local
建议使用的二步验证工具------Authy
不要用Google的那个Google Authenticator!
不要用Google的那个Google Authenticator!
不要用Google的那个Google Authenticator!
五、更新Guacamole {#五更新guacamole}
参考:【Docker系列】Docker更新容器镜像的三种方法
第一步 {#第一步}
进入到你docker-compose所在的文件夹下,执行
docker-compose pull
第二步 {#第二步}
重启你的容器
docker-compose up -d --remove-orphans
第三步(可选) {#第三步可选}
删除掉旧的镜像
docker image prune
六、最后 {#六最后}
祝大家用得开心,有问题可以去GitHub提Issues,也可以在评论区互相交流探讨。
七、参考资料 {#七参考资料}
https://hub.docker.com/r/jwetzell/guacamole
https://www.youtube.com/watch?v=DGw6P5Lkj-U&t=44s