简介
Next-Terminal是一款开源、简洁、安全、易用的运维审计系统,支持Web远程访问的终端管理系统,将传统SSH登录操作搬到了网页中,通过浏览器就能随时随地安全、便捷地登录服务器,进行批量命令操作、文件管理等操作。系统支持多种远程访问协议,包括RDP、SSH、VNC、Telnet、HTTP等,能满足企业运维日常90%场景,是中小型企业日常运维最有力的工具。详细特点如下:
-
免费开源: 在Github社区已收获5000+ star,拥有大量用户,系统的稳定性无需担忧!
-
多协议支持: 无需插件,只需一个浏览器,即可随时随地访问RDP、SSH、VNC、TELNET等协议资产
-
实时监控: 管理者可实时查看当前活跃会话,支持会话监控与中断操作。同时,对基于字符协议的连接,可配置命令黑名单,限制敏感指令的执行并进行日志记录,全面保障数字资产的安全性。
-
事后审计: 系统可实时监控并记录各环境中的在线资源、连接情况、交互会话及各类安全事件,所有操作均以结构化审计日志形式存储,便于清晰追溯事件全过程与责任人
应用场景
-
需要远程管理大量服务器
-
需要对运维行为进行审计与权限精细化控制
-
希望统一团队成员访问终端资产的入口,方便跟踪和记录
-
想拥有类似堡垒机的功能但不想花钱买商用版
功能列表
Web Shell管理
-
通过浏览器即可远程登录服务器,无需安装客户端
-
自动记录操作命令,支持回放
-
会话断线自动重连,体验极佳
资产管理系统
-
支持批量导入服务器资产
-
分组管理、标签筛选,清晰明了
-
支持多种认证方式:密码、密钥、堡垒机跳板等
权限分配与审计
-
精细的权限控制体系,灵活配置访问策略
-
支持命令黑名单,防止误操作
-
操作记录全审计,支持会话回放
文件管理
-
Web 端上传下载文件,拖拽即传
-
远程文件编辑、批量分发轻松搞定
批量操作神器
-
一次登录,批量执行命令到多台服务器
-
高并发处理,效率翻倍
一键部署,私有化部署无忧
-
提供 Docker 镜像,部署极其简单
-
支持 Linux、Windows 主流系统
-
数据存储安全可控,支持企业私有化
UI界面
快速上手
一、原生安装:原生安装比较复杂,不建议新手尝试,新手可以直接使用docker方式安装
安装依赖:
apt install -y make gcc g++ \
libcairo2-dev libjpeg62-turbo-dev libpng-dev libtool-bin uuid-dev libossp-uuid-dev \
freerdp2-dev libvncserver-dev libpulse-dev libvorbis-dev libwebp-dev
下载源码:
wget https://downloads.apache.org/guacamole/1.5.5/source/guacamole-server-1.5.5.tar.gz
解压:
tar -xvf guacamole-server-1.5.5.tar.gz
编译安装:
cd guacamole-server-1.5.5
./configure --with-init-dir=/etc/init.d
make
make install
ldconfig
生成配置文件:
mkdir /etc/guacamole/ && cat <<EOF > /etc/guacamole/guacd.conf
[daemon]
pid_file = /var/run/guacd.pid
log_level = info
[server]
bind_host = 127.0.0.1
bind_port = 4822
EOF
安装服务:
cat <<EOF > /etc/systemd/system/guacd.service
[Unit]
Description=Guacamole proxy daemon
Documentation=man:guacd(8)
After=network.target
[Service]
User=root
ExecStart=/usr/local/sbin/guacd -f /etc/guacamole/guacd.conf
TimeoutSec=0
RestartSec=10
Restart=always
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
EOF
启动 guacd 服务:
systemctl daemon-reload
systemctl enable guacd
systemctl start guacd
安装Next Terminal:
wget https://github.com/dushixiang/next-terminal/releases/latest/download/next-terminal.tar.gz
解压:
mkdir -p /usr/local/next-terminal/
tar -zxvf next-terminal.tar.gz -C /usr/local/next-terminal
默认使用的是 sqlite 数据库,仅供测试使用,生产使用请自行安装 mysql 或 postgres 数据库。
更换数据库请修改 config.yaml 文件中的 database 配置。
使用系统服务方式启动:
cat <<EOF > /etc/systemd/system/next-terminal.service
[Unit]
Description=next-terminal service
After=network.target
[Service]
User=root
WorkingDirectory=/usr/local/next-terminal
ExecStart=/usr/local/next-terminal/next-terminal -c /usr/local/next-terminal/config.yaml
TimeoutSec=0
RestartSec=10
Restart=always
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
EOF
启动Next-Terminal 服务:
systemctl daemon-reload
systemctl enable next-terminal
systemctl start next-terminal
访问系统:
访问 http://{ip}:8088/setup 进行用户初始化设置
访问 http://{ip}:8088/login 进行登陆
二、容器安装
使用PostgreSQL数据库(推荐)
curl -sSL https://f.typesafe.cn/next-terminal/docker-compose-postgres-aliyun.yml > docker-compose.yml
curl -sSL https://f.typesafe.cn/next-terminal/config-postgres.yaml > config.yaml
docker compose up -d
使用Mysql数据库
curl -sSL https://f.typesafe.cn/next-terminal/docker-compose-mysql-aliyun.yml > docker-compose.yml
curl -sSL https://f.typesafe.cn/next-terminal/config-mysql.yaml > config.yaml
docker compose up -d
访问系统:
访问 http://{ip}:8088/setup 进行用户初始化设置
访问 http://{ip}:8088/login 进行登陆
开源地址:https://github.com/dushixiang/next-terminal