Docker部署guacamole和guacd用于浏览器内的远程连接
用于在只有浏览器的环境下进行远程SSH、VNC、RDP等连接。
使用Docker安装guacamole套件
拉取镜像:
docker pull guacamole/guacd
docker pull guacamole/guacamole
docker pull mysql
获取初始化脚本:
mkdir /root/guacamole
cd /root/guacamole
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql
创建和初始化MySQL容器,容器名为guacamole-mysql,其中mysqlpassword为默认mysql密码,guacamole为默认用户名,guacamole123为默认用户密码。注意自行修改:
docker run --name guacamole-mysql \
-e MYSQL_ROOT_PASSWORD=mysqlpassword \
-v /root/guacamole/mysql:/var/lib/mysql \
-p 3306:3306 \
-d mysql
docker cp initdb.sql guacamole-mysql:/root/
docker exec -it guacamole-mysql bash
mysql -uroot -pmysqlpassword <<EOF
CREATE DATABASE guacamole;
CREATE USER 'guacamole'@'%' IDENTIFIED BY 'guacamole123';
GRANT ALL PRIVILEGES ON guacamole.* TO 'guacamole'@'%';
FLUSH PRIVILEGES;
EOF
mysql -uroot -pmysqlpassword
use guacamole;
source /root/initdb.sql
exit
exit
动guacd
docker run --name guacd -d guacamole/guacd
启动guacamole
docker run --name guacamole \
--link guacamole-mysql:mysql \
--link guacd:guacd \
-e MYSQL_HOSTNAME=mysql \
-e MYSQL_PORT=3306 \
-e MYSQL_DATABASE=guacamole \
-e MYSQL_USER=guacamole \
-e MYSQL_PASSWORD=guacamole123 \
-e GUACD_HOSTNAME=guacd \
-e GUACD_PORT=4822 \
-p 8000:8080 \
-d guacamole/guacamole
随后即可访问Docker服务器的服务端口了:http://Docker服务器地址:8000/guacamole/
编译安装guacd
guacamole除了使用Docker服务器的guacd作为默认网关外,还可以添加其他guacd网关。以1.5.5版本的guacd为例,在Debian上安装和启动guacd的步骤如下:
## 下载源码
wget https://apache.org/dyn/closer.lua/guacamole/1.5.5/source/guacamole-server-1.5.5.tar.gz?action=download -O guacamole-server-1.5.5.tar.gz
tar -zxf guacamole-server-1.5.5.tar.gz
cd guacamole-server-1.5.5
## 安装依赖项
apt install libcairo2-dev libjpeg62-turbo-dev libpng-dev libtool-bin uuid-dev
apt install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libwebsockets-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev
## 编译安装
autoreconf -fi
./configure
make
make install
ldconfig
## 启动guacd并绑定一个内网网卡IP(注意:guacd默认没有权鉴)
guacd -b 192.168.1.1