https://docs.jumpserver.org/zh/master/install/docker_install/
https://docs.jumpserver.org/zh/1.4.8/faq_rdp.html
yum -y install docker
centos
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce
启动docker服务sudo systemctl start docker
编辑sudo vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://dockerhub.azk8s.cn"],
"data-root": "/data/docker",
"metrics-addr" : "0.0.0.0:9323",
"experimental" : true ,
"bip": "172.31.0.1/24",
"default-address-pools":[
{"base":"172.31.0.0/16","size":24}
]
}
sudo systemctl enable docker
sudo systemctl restart docker
#docker-compose下载
sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
mkdir -p /home/xxx/jms
cd jms
git clone https://github.com/wojiushixiaobai/docker-compose.git
version: '3'
services:
mysql:
image: jumpserver/jms_mysql:${Version}
container_name: jms_mysql
restart: always
tty: true
environment:
DB_PORT: $DB_PORT
DB_USER: $DB_USER
DB_PASSWORD: $DB_PASSWORD
DB_NAME: $DB_NAME
volumes:
- mysql-data:/var/lib/mysql
networks:
- jumpserver
redis:
image: jumpserver/jms_redis:${Version}
container_name: jms_redis
restart: always
tty: true
environment:
REDIS_PORT: $REDIS_PORT
REDIS_PASSWORD: $REDIS_PASSWORD
volumes:
- redis-data:/var/lib/redis/
networks:
- jumpserver
core:
image: jumpserver/jms_core:${Version}
container_name: jms_core
restart: always
tty: true
environment:
SECRET_KEY: $SECRET_KEY
BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN
LOG_LEVEL: $LOG_LEVEL
DB_HOST: $DB_HOST
DB_PORT: $DB_PORT
DB_USER: $DB_USER
DB_PASSWORD: $DB_PASSWORD
DB_NAME: $DB_NAME
REDIS_HOST: $REDIS_HOST
REDIS_PORT: $REDIS_PORT
REDIS_PASSWORD: $REDIS_PASSWORD
WINDOWS_SKIP_ALL_MANUAL_PASSWORD: "FALSE"
depends_on:
- mysql
- redis
volumes:
- core-data:/opt/jumpserver/data
networks:
- jumpserver
koko:
image: jumpserver/jms_koko:${Version}
container_name: jms_koko
restart: always
tty: true
environment:
CORE_HOST: http://core:8080
BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN
LOG_LEVEL: $LOG_LEVEL
depends_on:
- core
- mysql
- redis
volumes:
- koko-keys:/opt/koko/data/keys
ports:
- 2222:2222
networks:
- jumpserver
guacamole:
image: jumpserver/jms_guacamole:${Version}
container_name: jms_guacamole
restart: always
tty: true
environment:
JUMPSERVER_SERVER: http://core:8080
BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN
GUACAMOLE_LOG_LEVEL: $LOG_LEVEL
depends_on:
- core
- mysql
- redis
volumes:
- guacamole-keys:/config/guacamole/keys
networks:
- jumpserver
nginx:
image: jumpserver/jms_nginx:${Version}
container_name: jms_nginx
restart: always
tty: true
depends_on:
- core
- koko
- mysql
- redis
volumes:
- core-data:/opt/jumpserver/data
ports:
- 80:80
networks:
- jumpserver
volumes:
mysql-data:
redis-data:
core-data:
koko-keys:
guacamole-keys:
networks:
jumpserver:
登录用户名为后台配置得后台用户,例如admin :admin 登录端口为2222
RDP 协议资产连接错误排查思路
(1). 如果白屏 检查nginx配置文件的guacamole设置ip是否正确, 检查终端管理的gua状态是否在线
(2). 如果显示没有权限 是你 终端管理里 guacamole 状态为红色或者没有注册成功
(3). 如果显示未知问题 可能是你的资产填写的端口不对, 或者授权的系统用户的协议不是rdp
(4). 提示无法连接服务器 一般情况下是登录的系统账户不正确或者防火墙设置有误, 资产的信息填写不正确也会报这个错误
(5). 提示网络问题无法连接或者超时, 请检查网络连接并重试, 或联系管理员 一般情况下网络有问题
# 如果终端不在线, 请检查 guacamole 的 BOOTSTRAP_TOKEN 是否与 jumpserver 一致, 如果不一致请修改后重启
$ cat /opt/jumpserver/config.yml | grep BOOTSTRAP_TOKEN
$ env | grep BOOTSTRAP_TOKEN
$ /etc/init.d/guacd stop
$ sh /config/tomcat8/bin/shutdown.sh
$ rm -rf /config/guacamole/keys/*
$ /etc/init.d/guacd start
$ sh /config/tomcat8/bin/startup.sh
# docker 部署请直接删除容器后重建, 记得一定要先在 终端管理 删除不在线的组件
$ docker stop jms_guacamole
$ docker rm jms_guacamole
# http:// 指向 jumpserver 的服务url, 如 http://192.168.244.144:8080
# BOOTSTRAP_TOKEN 为 Jumpserver/config.yml 里面的 BOOTSTRAP_TOKEN
$ docker run --name jms_guacamole -d -p 8081:8081 -e JUMPSERVER_SERVER=http:// -e BOOTSTRAP_TOKEN=xxxxxx jumpserver/jms_guacamole:1.4.8
# 正常运行后到Jumpserver 会话管理-终端管理 里面查看 gua 的状态是否为绿色(等待大概5s后刷新页面)
# Windows 7/2008 勾选 允许运行任意版本远程桌面的计算机连接(较不安全)(L)
# Windows 8/10/2012 只勾选 允许远程连接到此计算机(L), 其他选项请取消勾选
# Windows防火墙-高级设置-入站规则 把远程桌面开头的选项 右键-启用规则
# Windows 7/2008 启用 远程桌面(TCP-In)
# Windows 8/10/2012 启用 远程桌面-用户模式(TCP-In)
# 注:因为 windows 暂时不支持推送, 所以必须使用资产上面已经存在的账户进行登录, 如 administrator 账户
# 不带域的用户直接输入用户名即可, 如 administrator
# 域用户的用户名格式为 [email protected], 如 [email protected]
# 注:因为 windows 暂时不支持推送, 所以必须使用资产上面已经存在的账户进行登录, 如 administrator 账户
# 不带域的用户直接输入用户名即可, 如 administrator
# 域用户的用户名格式为 [email protected], 如 [email protected]
# 如果想让用户登录资产时自己输入资产的账户密码, 可以点击系统用户的名称 点击清除认证信息
# 此处必须输入能正确登录 windows 资产的 账户密码
# 如不确实是不是因为密码或者账户信息错误导致的无法登录, 可以使用手动登录功能(在系统用户处设置)
# Windows 7/8/2008/2012 "系统平台"选择 "Windows"
# Windows 10/2016 "系统平台"选择 "Windows(2016)"
# 先定位到 windows 的资产, 然后授权, 如果资产用户密码不一致, 请不要直接在节点上授权
# 直接拖拽文件到 windows 窗口即可, 文件上传后在 Guacamole RDP上的 G 目录查看
# 下载在 luna 页面, 按 ctrl+alt+shift, 选择文件下载即可