轻量级堡垒机系统Next Terminal

这个软件推荐的网友很多,包括 王立浩司徒不长到一百四誓不改名 等,以上排名是不分先后的

什么是 Next Terminal ?

Next Terminal 是一个简单好用安全的开源交互审计系统,支持 RDPSSHVNCTelnetKubernetes 协议。 Next Terminal 基于 Apache Guacamole 开发,使用到了 guacd 服务。采用了 GolangReact 开发,具有小巧、易安装、易使用、资源占用小的特点。

目前支持的功能有:

  • 授权凭证管理
  • 资产管理(支持 RDPSSHVNCTELNET 协议)
  • 指令管理
  • 批量执行命令
  • 在线会话管理(监控、强制断开)
  • 离线会话管理(查看录屏)
  • 双因素认证
  • 资产标签
  • 资产授权
  • 多用户&用户分组
  • 计划任务
  • ssh server
  • 登录策略
  • 系统监控

关于 Apache Guacamole,老苏几年前介绍过

文章传送门:部署Guacamole远程桌面网关服务

安装

在群晖上以 Docker 方式安装。

  • 镜像 dushixiang/next-terminallatest 对应版本为 v1.3.9
  • 镜像 dushixiang/guacdlatest 对应版本为 1.4.0

Next Terminal 支持多种数据库存储方式,本文介绍了 SQLiteMySQL 两种

SQLite 版

采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3.3'

services:
  guacd:
    image: dushixiang/guacd:latest
    container_name: guacd-app
    restart: unless-stopped
    #ports:
    #  - "4822:4822"
    environment:
      GUACD_LOG_LEVEL: debug

  next-terminal:
    image: dushixiang/next-terminal:latest
    container_name: guacd-web
    restart: unless-stopped
    ports:
      - "4823:8088"
    volumes:
      - /etc/localtime:/etc/localtime
      - ./data:/usr/local/next-terminal/data
    environment:
      DB: sqlite
      GUACD_HOSTNAME: guacd
      GUACD_PORT: 4822
    depends_on:
      - guacd

然后执行下面的命令

# 新建文件夹 next-terminal 和 子目录
mkdir -p /volume1/docker/next-terminal/data

# 进入 next-terminal 目录
cd /volume1/docker/next-terminal

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

MySQL 版

老苏用了群晖自带的 MariaDB 10 数据库。

轻量级堡垒机系统Next Terminal_第1张图片

phpMyAdmin 中创建名为 next_terminal 的空数据库。

为便于说明,假设数据库密码为 123456

轻量级堡垒机系统Next Terminal_第2张图片

所以根据上面的设置,最后得到的数据库相关的参数如下:

  • 数据库主机:192.168.0.197,与群晖主机 IP 一致;
  • 数据库端口:3307
  • 数据库用户:next_terminal
  • 数据库密码:123456
  • 数据库库名:next_terminal,因为勾选了与用户同名;

MySQL 版本的 docker-compose.yml 文件稍有不同,主要是环境变量会多几个

version: '3.3'

services:
  guacd:
    image: dushixiang/guacd:latest
    container_name: guacd-app
    restart: unless-stopped
    #ports:
    #  - "4822:4822"
    volumes:
      - ./data:/usr/local/next-terminal/data
    environment:
      GUACD_LOG_LEVEL: debug

  next-terminal:
    image: dushixiang/next-terminal:latest
    container_name: guacd-web
    restart: unless-stopped
    ports:
      - "4823:8088"
    volumes:
      - /etc/localtime:/etc/localtime
      - ./data:/usr/local/next-terminal/data
    environment:
      DB: mysql
      MYSQL_HOSTNAME: 192.168.0.197
      MYSQL_PORT: 3307
      MYSQL_USERNAME: next_terminal
      MYSQL_PASSWORD: 123456
      MYSQL_DATABASE: next_terminal
      GUACD_HOSTNAME: guacd
      GUACD_PORT: 4822
    depends_on:
      - guacd

容器 guacd-web 的主要环境变量

可变
DB 数据库类型,可以是 sqlite 或者 mysql
MYSQL_HOSTNAME 数据库主机地址
MYSQL_PORT 数据库主机端口
MYSQL_USERNAME 数据库用户
MYSQL_PASSWORD 数据库用户对应的密码
MYSQL_DATABASE 数据库库名
GUACD_HOSTNAME guacd 服务主机地址
GUACD_PORT guacd 服务主机端口

然后执行下面的命令

# 新建文件夹 next-terminal 和 子目录
mkdir -p /volume1/docker/next-terminal/data

# 进入 next-terminal 目录
cd /volume1/docker/next-terminal

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

轻量级堡垒机系统Next Terminal_第3张图片

运行

在浏览器中输入 http://群晖IP:4823 就能看到登录界面

默认账户、密码:admin/admin

轻量级堡垒机系统Next Terminal_第4张图片

登录成功后的主界面

轻量级堡垒机系统Next Terminal_第5张图片

新建资产

轻量级堡垒机系统Next Terminal_第6张图片

接入

轻量级堡垒机系统Next Terminal_第7张图片

如果设置无误的话,很快会连上服务器

轻量级堡垒机系统Next Terminal_第8张图片

更多功能,请参考官方使用文档:https://next-terminal.typesafe.cn/docs/usage/readme.html

参考文档

dushixiang/next-terminal: Next Terminal是使用Golang和React开发的一款HTML5的远程桌面网关,具有小巧、易安装、易使用、资源占用小的特点,支持RDP、SSH、VNC和Telnet协议的连接和管理。
地址:https://github.com/dushixiang/next-terminal

next-terminal: Next Terminal是一个轻量级堡垒机系统,易安装,易使用,支持RDP、SSH、VNC、Telnet、Kubernetes协议。
地址:https://gitee.com/dushixiang/next-terminal

Next Terminal|开源交互审计系统
地址:https://next-terminal.typesafe.cn/

Next Terminal | Next Terminal
地址:https://next-terminal.typesafe.cn/docs/

你可能感兴趣的:(群晖,docker,VNC,SSH,RDP)