guacamole 可以支持 RDP、VNC、SSH、Telnet、Kubernetes等协议的网关。
PS:加上内网穿透,可以出门在外利用浏览器或者手机随便控制家中的电脑和盒子了。
guacamole官方网站: https://guacamole.apache.org/
效果展示:
安装脚本(保存文本后缀为.sh 例如guac.sh):
给脚本文件添加权限:chmod a+x guac.sh
用vim打开sh文件:vi guac.sh
修改文件格式::set ff=unix
或 :set fileformat=unix
保存退出:wq
执行:./guac.sh
#!/bin/bash
######################################
## Guacamole_神雕电视盒子专用脚本 ##
## Gorilla Modified in 2022 ##
## Reproduced Martez Reed ##
######################################
# 定义变量(数据库密码可以自行修改)
guac_version=1.4.0
mysql_version=8.0.28
mysql_username=root
mysql_password=greenrt
# 更新软件列表
sudo apt-get update -y
# 安装Make Gcc
sudo apt-get install -y make gcc
# 安装JRE
sudo apt-get -y --force-yes install default-jre
# 安装JDK
sudo apt-get -y --force-yes install default-jdk
# 安装Maven
sudo apt-get install -y maven
# 安装Tomcat 9
sudo apt-get install -y tomcat9
# 安装避免SSH终端中文乱码
sudo apt-get install -y ttf-wqy-zenhei
# 安装依赖包
sudo apt-get install -y libcairo2-dev libjpeg-turbo8-dev libtool-bin libpng-dev libossp-uuid-dev libvncserver-dev freerdp2-dev libssh2-1-dev libssl-dev libpango1.0-dev libwebsockets-dev libtelnet-dev libavformat-dev libswscale-dev libavutil-dev libavcodec-dev libvorbis-dev libpulse-dev libwebp-dev
# 下载 Guacamole 客户端
sudo wget https://dlcdn.apache.org/guacamole/$guac_version/binary/guacamole-$guac_version.war
# 下载 Guacamole 服务端
sudo wget https://dlcdn.apache.org/guacamole/$guac_version/source/guacamole-server-$guac_version.tar.gz
# 解压 guacamole 服务端源码文件
sudo tar -xzf guacamole-server-$guac_version.tar.gz
# 将目录更改为源文件
cd guacamole-server-$guac_version/
# guacamole 服务端执行启动
sudo ./configure --with-init-dir=/etc/init.d
# guacamole 服务端编译
sudo make
# guacamole 服务端安装
sudo make install
# 设置guacd开机自启动
sudo update-rc.d guacd defaults
# 设置动态链接库
sudo ldconfig
# 创建 guacamole 配置目录
sudo mkdir /etc/guacamole
# 创建 guacamole.properties 配置文件
sudo cat <<EOF1 > /etc/guacamole/guacamole.properties
# Hostname and port of guacamole proxy
guacd-hostname: localhost
guacd-port: 4822
enable-websocket: true
enable-clipboard-integration: true
# Auth provider class (authenticates user/pass combination, needed if using the provided login screen)
# auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
# basic-user-mapping: /etc/guacamole/user-mapping.xml
# 提供身份验证
auth-provider: net.sourceforge.guacamole.net.auth.mysql.MySQLAuthenticationProvider
# MySQL 验证方式配置
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole
mysql-username: guacamole
mysql-password: $mysql_password
# 更改验证目录用到的配置
# lib-directory: /var/lib/guacamole/classpath
EOF1
# 创建 Tomcat9 属性文件
sudo mkdir /usr/share/tomcat9/.guacamole
# 为 Tomcat9 创建属性文件的符号链接
sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat9/.guacamole
# 上移一个目录以复制 guacamole.war 文件
cd ..
# 将 guacamole.war 文件复制到 Tomcat 9 webapps 目录内
sudo cp guacamole-$guac_version.war /var/lib/tomcat9/webapps/guacamole.war
# 启动 Guacamole (guacd) 服务端
sudo service guacd start
# 重启 Tomcat 9
sudo service tomcat9 restart
########################################
# MySQL安装和配置 #
########################################
# 下载 Guacamole MySQL 身份验证文件
sudo wget https://dlcdn.apache.org/guacamole/$guac_version/binary/guacamole-auth-jdbc-$guac_version.tar.gz
# 解压 Guacamole MySQL 身份验证文件
sudo tar -xzf guacamole-auth-jdbc-$guac_version.tar.gz
# 为 MySQL 身份验证文件创建 Guacamole 下路径目录
sudo mkdir -p /etc/guacamole/extensions/
# 将 Guacamole MySQL 身份验证文件复制到创建的目录
sudo cp guacamole-auth-jdbc-$guac_version/mysql/guacamole-auth-jdbc-mysql-$guac_version.jar /etc/guacamole/extensions/
# 为 MySQL 连接器文件创建 Guacamole 下路径目录
sudo mkdir -p /etc/guacamole/lib/
# 下载 MySQL 连接器
sudo wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-$mysql_version.tar.gz
# 解压 MySQL 连接器
sudo tar -xzf mysql-connector-java-$mysql_version.tar.gz
# 将 MySQL 连接器jar文件复制到 guacamole 下路径目录
sudo cp mysql-connector-java-$mysql_version/mysql-connector-java-$mysql_version.jar /etc/guacamole/lib/
# 提供MySQL root密码以自动安装
sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password $mysql_password"
sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $mysql_password"
# 安装 MySQL
sudo apt-get install -y mysql-server
# 创建 MySQL 配置脚本
sudo cat <<EOF2 > guacamolemysql.sql
#MySQL Guacamole 脚本
CREATE DATABASE guacamole;
CREATE USER 'guacamole'@'localhost' IDENTIFIED BY '$mysql_password';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole.* TO 'guacamole'@'localhost';
FLUSH PRIVILEGES;
quit
EOF2
# 创建 Guacamole 数据库和用户
sudo mysql -u root --password=$mysql_password < guacamolemysql.sql
# 将目录更改为 mysql-auth 目录
cd guacamole-auth-jdbc-$guac_version/mysql
# 运行创建的 MySQL 配置脚本以创建数据库和用户
sudo cat schema/*.sql | mysql -u root --password=$mysql_password guacamole
# 重启tomcat9
sudo service tomcat9 restart
# 重启 guacd
sudo service guacd restart
# 安装完毕后手动清理一下下载在 /root 目录下的文件。
初始登陆的地址是:http://盒子的IP地址:8080/guacamole/
可以修改tomcat默认WEB目录
vi /etc/tomcat9/server.xml
在<hosts> ......</hosts>中间添加一行
<Context path="" docBase="/var/lib/tomcat9/webapps/guacamole" debug="0" reloadable="true"/>
# 重启tomcat9
sudo service tomcat9 restart
登陆地址:http://盒子的IP地址:8080/
登陆账号:guacadmin
初始密码是:guacadmin
有问题请跟帖。