Apache Guacamole 环境,基础代码
首先
最近,因为公司需要,项目中需添加一个远程连接控制台的功能,远程操作服务器,之前也没接触过,经常用的也就是Putty、XShell、SecureCRT、SSH Secure Shell Slient,当然本人用的对多的就是XShell,但是项目需要没办法,也没做过类似的东西,通过查资料了解到Apache Guacamole 可以实现,所以分享给大家!
安装Docker
之前有浏览过一个安装的博客文章,很详细这里借鉴一下:
点击前往
拉取Guacamole服务器、Guacamole客户端和MySQL的Docker镜像
-
拉取以上镜像
(黑窗口);
docker pull guacamole/guacamole
docker pull guacamole/guacd
docker pull mysql/mysql-server
运行Mysql并配置
-
镜像拉取完成后,创建数据库初始化脚本以创建数据表
;
docker run –rm guacamole/guacamole /opt/guacamole/bin/initdb.sh –mysql > initdb.sql -
启动mysql-server
;
docker run –name mysqltest -e MYSQL_RANDOM_ROOT_PASSWORD=yes -e MYSQL_ONETIME_PASSWORD=yes -d mysql/mysql-server -
查看日志,获取密码(二者选其一)
;
docker logs mysqltest
上方的命令执行后查找 [Entrypoint] GENERATED ROOT PASSWORD: 这个字段冒号后面是密码牢记,登录mysql时需要
docker logs mysqltest|grep GENERATED
上方命令密码会在下面显示 -
重命名脚本并转移到已经运行的sql容器以便生成表
;
docker cp initdb.sql mysqltest:/guac_db.sql -
打开mysql终端
;
docker exec -it mysqltest bash -
登录mysql
;
mysql -uroot -p(紧接记录的密码直接连接)
mysql -u root -p (需要输入密码) -
重新设定root用户密码
;
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;
用户密码和路径可以自定义 -
创建数据库以及创建用户
;
CREATE DATABASE guacamole_db;(创建数据库)
CREATE USER ‘root’@‘%’ IDENTIFIED BY ‘123456’; (创建用户)
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO ‘root’@‘%’;
FLUSH PRIVILEGE;(创建用户权限)
创建完成后输入quit退去 -
使用脚本创建数据表
;
cat guac_db.sql | mysql -u root -p guacamole_db
需要输入9里面创建用户的密码 -
验证数据库操作是否成功
;
mysql -uroot -p123456(连接数据库)
USE guacamole_db;(选择数据库)
SHOW TABLES;(查看所有的表)
配置Guacamole服务器,Guacamole客户端
-
启动guacd
;
docker run –name myguacd -d guacamole/guacd -
启动guacamole,并连接guacd,mysql
;
docker run –name myguacamole
–link myguacd:guacd
–link mysqltest:mysql
-e MYSQL_DATABASE=guacamole_db
-e MYSQL_USER=root
-e MYSQL_PASSWORD=123456
-d -p 0.0.0.0:8080:8080
guacamole/guacamole -
查看运行的docker
;
docker ps
以上我这里运行了两个 docker 容器,主要是因为没有启动 guacamole/guacamole 正常是三个 -
访问已经运行的guacamole
;
在浏览器中访问http://localhost:8080/guacamole/#/。
默认账户:guacadmin
默认密码:guacadmin
-
创建连接
;
以上创建连接成功后返回首页就双击已经创建好的连接就可以成功连接
实现远程连接简单的demo