My previous post introduced two bastion host. In this post, I am going to introduce another one, Next Terminal, which it calls itself as a next generation bastion host, and a simple, easy-to-use and secure open source interactive audit system that supports RDP, SSH, VNC, Telnet, and Kubernetes protocols. Next Terminal replaces traditional accounts with real identities, providing a phishing-proof, zero-trust access solution for every engineer connected to the infrastructure.
Introduction
Currently Next Terminal supports the following functions:
- Authorization credential management
- Asset management (support RDP, SSH, VNC, TELNET protocol)
- command management
- Execute commands in batches
- Online session management (monitoring, forced disconnection)
- Offline session management (viewing screen recordings)
- two-factor authentication
- asset tag
- Asset Authorization
- Multiple Users & User Groups
- Scheduled Tasks
- ssh server
- login policy
- System monitoring
- Documents : https://next-terminal.typesafe.cn/docs/
- Github: https://github.com/dushixiang/next-terminal
- Quick Installation: https://next-terminal.typesafe.cn/docs/install/pro-install.html
- Website: https://next-terminal.typesafe.cn/
- Demo site: https://next.typesafe.cn/
-
- Account : test
- Password: test
Docker Installation Steps
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
root@arm-ubuntu-xrdp-docker:~# docker-compose up
Recreating root_next-terminal_1 ... done
Starting root_guacd_1 ... done
Attaching to root_guacd_1, root_next-terminal_1
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
guacd_1 | guacd[6]: INFO: Guacamole proxy daemon (guacd) version 1.4.0 started
guacd_1 | guacd[6]: INFO: Listening on host 0.0.0.0, port 4822
root_next-terminal_1 exited with code 2
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
root_next-terminal_1 exited with code 2
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
root_next-terminal_1 exited with code 2
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
root_next-terminal_1 exited with code 2
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
root_next-terminal_1 exited with code 2
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
root_next-terminal_1 exited with code 2
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
next-terminal_1 | ./next-terminal: line 1:ELF: not found
next-terminal_1 | ./next-terminal: line 2: �P: not found
next-terminal_1 | ./next-terminal: line 4: syntax error: unexpected ")"
root_next-terminal_1 exited with code 2
We can use Docker Pro Version Deployment to resolve this issue:
curl -sSL https://f.typesafe.cn/next-terminal/docker-compose.yml > docker-compose.yml
docker-compose up -d
Herr are my docker-compose.yml file's contents:
root@arm-ubuntu-xrdp-docker:~# cat docker-compose.yml
version: '3.3'
services:
guacd:
image: dushixiang/guacd:latest
restart:
always
next-terminal:
image: dushixiang/next-terminal-pro: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
root@arm-ubuntu-xrdp-docker:~#
Usage
Log in to system using default admin/admin credentail:
Control Panel:
References
- Fast Deploy Two Open Source Bastion Server Projects - Webterminal and Jumpserver
- Using Portainer to Deploy Guacamole As Web Based Remote Access Gateway (Updated)
via Blogger http://blog.51sec.org/2023/04/next-terminal-another-interactive.html
April 04, 2023 at 08:14AM Docker