前言
本文介绍一款轻量级的开源堡垒机平台: Next Terminal,假如你是个人开发者,刚好手上有些几台或者十几台服务器、NAS需要统一管理,那么恭喜你,这个平台非常适合你。
简介
想必经常玩服务器的都了解过堡垒机,类似于跳板机,但与跳板机的侧重点不同。堡垒机的主要功能是控制和监控对内部网络的远程访问。它提供严格的访问控制、会话审计和监控等功能。而跳板机更侧重于提供一个安全的中转平台,用于跳转到内部网络的其他服务器或设备。
之前我还了解过飞致云旗下开源堡垒机项目 Jump server,但由于其组件过多搭建比较复杂,而且它对于管理端的性能要求最低达到2核4G的配置,很遗憾,我的开发板配置没有达到最低要求,于是在github上一番查找,最终让我找到了 Next-terminal 项目。相比较之下 Next-terminal 更加的轻量,并且搭建更加的简单,并且功能也比较完善,满足基本的需求。当然,这是开源版本,有必要的话各位可以上企业版支持一波作者。
Next-terminal 号称下一代堡垒机,它支持多协议如 RDP、SSH、VNC等,并可以对正在进行的会话实时监控,还可以进行事后审计,包括查看日志和查看命令视频记录。
项目地址
环境要求
- 平台: Linux、Mac
- 硬件: 2核2G
- 系统: Ubuntu、Centos、Debian、Mac OS
安装方法
Docker-compose安装
提示:国内用户可以使用阿里云镜像仓库
- guacd registry.cn-beijing.aliyuncs.com/dushixiang/guacd
- next-terminal registry.cn-beijing.aliyuncs.com/dushixiang/next-terminal
SQLite存储数据方式部署(方法一)
创建一个NextTermianl文件夹,并在文件夹下新建docker-compose.yml文件,并写入以下内容
version: '3.3'
services:
guacd:
image: dushixiang/guacd:latest
volumes:
- ./data:/usr/local/next-terminal/data
restart:
always
next-terminal:
image: dushixiang/next-terminal:latest
environment:
DB: sqlite
GUACD_HOSTNAME: guacd
GUACD_PORT: 4822
ports:
- "8088:8088"
volumes:
- /etc/localtime:/etc/localtime
- ./data:/usr/local/next-terminal/data
restart:
always
# 后台启动容器
docker-compose up -d
Mysql数据存储方式部署(方法二)
创建一个NextTermianl文件下,并在文件夹下新建docker-compose.yml文件,并写入以下内容
version: '3.3'
services:
mysql:
image: mysql:8.0
environment:
MYSQL_DATABASE: next-terminal
MYSQL_USER: next-terminal
MYSQL_PASSWORD: next-terminal
MYSQL_ROOT_PASSWORD: next-terminal
volumes:
- ./data/mysql:/var/lib/mysql
restart:
always
guacd:
image: dushixiang/guacd:latest
volumes:
- ./data:/usr/local/next-terminal/data
restart:
always
next-terminal:
image: dushixiang/next-terminal:latest
environment:
DB: mysql
MYSQL_HOSTNAME: mysql
MYSQL_PORT: 3306
MYSQL_USERNAME: next-terminal
MYSQL_PASSWORD: next-terminal
MYSQL_DATABASE: next-terminal
GUACD_HOSTNAME: guacd
GUACD_PORT: 4822
ports:
- "8088:8088"
volumes:
- /etc/localtime:/etc/localtime
- ./data:/usr/local/next-terminal/data
depends_on:
- mysql
restart:
always
# 后台启动容器
docker-compose up -d
Docker方式安装
# 安装 guacd
docker run --restart=always --name guacd -d \
-v /root/next-terminal/data:/usr/local/next-terminal/data \
dushixiang/guacd:latest
# 安装 next-terminal
docker run --restart=always --name next-terminal -d \
--link guacd \
-p 8088:8088 \
-v /root/next-terminal/data:/usr/local/next-terminal/data \
-v /etc/localtime:/etc/localtime \
-e DB=sqlite \
-e GUACD_HOSTNAME=guacd \
-e GUACD_PORT=4822 \
dushixiang/next-terminal:latest \
安装完的访问8080端口即可,超管账号密码:admin/admin
环境变量
介绍一下docker-compose.yaml文件中的环境变量的作用
参数 | 含义 | 默认值 |
DB | 数据库类型,可选 ['sqlite','mysql'] | sqlite |
SQLITE_FILE | sqlite 数据库文件存放地址 | /usr/local/next-terminal/data/sqlite/next-terminal.db |
MYSQL_HOSTNAME | mysql 数据库地址 | 127.0.0.1 |
MYSQL_PORT | mysql 数据库端口 | 3306 |
MYSQL_USERNAME | mysql 数据库用户 | next-terminal |
MYSQL_PASSWORD | mysql 数据库密码 | next-terminal |
MYSQL_DATABASE | mysql 数据库名称 | next-terminal |
SERVER_ADDR | 服务器监听地址 | 0.0.0.0:8088 |
ENCRYPTION_KEY | 授权凭证和资产的密码,密钥等敏感信息加密的key | next-terminal |
GUACD_HOSTNAME | Guacd 服务地址 | 127.0.0.1 |
GUACD_PORT | Guacd 服务监听端口 | 4822 |
GUACD_RECORDING | 录屏文件保存目录 | /usr/local/next-terminal/data/recording |
GUACD_DRIVE | 远程桌面挂载盘根目录 | /usr/local/next-terminal/data/drive |
SSHD_ENABLE | 是否开启sshd服务 | false |
SSHD_ADDR | sshd服务监听的地址 | 0.0.0.0:8089 |
SSHD_KEY | sshd服务使用私钥路径 | ~/.ssh/id_rsa |
3 条评论
龙城传奇手游脚本攻略:https://501h.com/heji/6091.html
芜湖
你好呀