Docker部署Nexus Terminal高颜值SSH客户端工具

一、Nexus Terminal介绍

1.1 Nexus Terminal简介

Nexus Terminal 是一款现代化的 Web SSH / RDP / VNC 客户端,提供独立桌面端应用,集成了高级安全机制与丰富的用户功能,适用于开发者、运维人员及企业团队,实现高效、安全的远程连接与管理。

1.2 Nexus Terminal主要特点

  1. 多标签页管理 SSH 与 SFTP 连接
    支持多个远程连接在同一界面中以标签页形式并行操作,提升工作效率。

  2. 支持 RDP/VNC 协议
    内建对 Windows 远程桌面和 VNC 的支持,满足多样化远程控制需求。

  3. 支持 PWA(渐进式 Web 应用)
    可安装为类原生应用,离线使用并具备推送通知等现代 Web 特性。

  4. 采用 Monaco Editor,在线编辑文件
    提供类似 VS Code 的代码编辑体验,支持语法高亮与智能补全。

  5. 集成多重登录安全机制,包括人机验证与双因素认证(2FA)
    增强账户安全,防止自动化攻击和未授权访问。

  6. 高度可定制的界面主题与布局风格
    用户可根据个人喜好自定义外观与界面布局,提升使用舒适度。

  7. 内置简易 Docker 容器管理面板
    快速查看和管理本地或远程服务器上的容器服务,简化 DevOps 流程。

  8. 支持 IP 白名单与黑名单,异常访问自动封禁
    提供网络层安全防护,阻止非法 IP 接入并自动防御暴力破解。

  9. 通知系统(如登录提醒、异常告警)
    实时推送关键事件通知,帮助用户掌握账户动态与系统状态。

  10. 审计日志,全面记录用户行为与系统变更
    所有操作均有详细日志追踪,便于合规审查与问题回溯。

  11. 基于 Node.js 的轻量级后端,资源占用低
    高性能且低开销的后端架构,易于部署和维护。

  12. 内置心跳保活机制,确保连接稳定
    自动检测并维持连接活跃状态,避免因超时断开影响工作。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为Ubuntu 22.04.1。

hostnameIP地址操作系统版本Docker版本部署项目
jeven01192.168.3.88Ubuntu 22.04.1 LTS27.1.14ga Boards

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Nexus Terminal高颜值SSH客户端工具。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@jeven01:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2025-06-11 12:57:12 UTC; 1 week 0 days ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 848 (dockerd)
      Tasks: 83
     Memory: 3.2G
        CPU: 29min 49.224s
     CGroup: /system.slice/docker.service
             ├─   848 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本

root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

root@jeven01:~# docker compose version
Docker Compose version v2.19.1

四、拉取Nexus Terminal镜像

拉取Nexus Terminal相关容器镜像,如下所示:

docker pull heavrnl/nexus-terminal-frontend:latest
docker pull heavrnl/nexus-terminal-backend:latest
docker pull heavrnl/nexus-terminal-remote-gateway:latest
docker pull guacamole/guacd:latest

在这里插入图片描述

五、部署Nexus Terminal容器

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/nexus-terminal &&  cd /data/nexus-terminal

5.2 使用命令行部署(可选)

如果想要命令行方式部署容器,可参考以下示例:

在这里插入代码片

5.3 编辑部署文件

在`部署目录下,创建docker-compose.yaml文件,如下所示:

vim docker-compose.yaml
services:
  frontend:
    image: heavrnl/nexus-terminal-frontend:latest
    container_name: nexus-terminal-frontend
    ports:
      - "18111:80"
    depends_on:
      - backend
      - remote-gateway

  backend:
    image: heavrnl/nexus-terminal-backend:latest
    container_name: nexus-terminal-backend
    volumes:
      - ./data:/app/data
    environment:
      NODE_ENV: production
      PORT: 3001
      DEPLOYMENT_MODE: docker   # local/docker
      REMOTE_GATEWAY_API_BASE_LOCAL: http://192.168.0.197:9090
      REMOTE_GATEWAY_API_BASE_DOCKER: http://remote-gateway:9090
      REMOTE_GATEWAY_WS_URL_LOCAL: ws://192.168.0.197:8080
      REMOTE_GATEWAY_WS_URL_DOCKER: ws://remote-gateway:8080
      # passkey
      RP_ID: "192.168.0.197"
      RP_ORIGIN: "http://192.168.0.197:18111"

  remote-gateway:
    image: heavrnl/nexus-terminal-remote-gateway:latest
    container_name: nexus-terminal-remote-gateway
    environment:
      GUACD_HOST: guacd
      GUACD_PORT: 4822
      REMOTE_GATEWAY_API_PORT: 9090
      REMOTE_GATEWAY_WS_PORT: 8080
      FRONTEND_URL: http://frontend
      MAIN_BACKEND_URL: http://backend:3001
      NODE_ENV: production
    depends_on:
      - guacd
      - backend

  guacd:
    image: guacamole/guacd:latest
    container_name: nexus-terminal-guacd
    restart: unless-stopped

root@jeven01:/data/nexus-terminal#
root@jeven01:/data/nexus-terminal# vim docker-compose.yaml
root@jeven01:/data/nexus-terminal# cat docker-compose.yaml
services:
  frontend:
    image: heavrnl/nexus-terminal-frontend:latest
    container_name: nexus-terminal-frontend
    ports:
      - "18111:80"
    depends_on:
      - backend
      - remote-gateway

  backend:
    image: heavrnl/nexus-terminal-backend:latest
    container_name: nexus-terminal-backend
    volumes:
      - ./data:/app/data
    environment:
      NODE_ENV: production
      PORT: 3001
      DEPLOYMENT_MODE: docker   # local/docker
      REMOTE_GATEWAY_API_BASE_LOCAL: http://192.168.3.88:9090
      REMOTE_GATEWAY_API_BASE_DOCKER: http://remote-gateway:9090
      REMOTE_GATEWAY_WS_URL_LOCAL: ws://192.168.3.88:8080
      REMOTE_GATEWAY_WS_URL_DOCKER: ws://remote-gateway:8080
      # passkey
      RP_ID: "192.168.3.88"
      RP_ORIGIN: "http://192.168.3.88:18111"

  remote-gateway:
    image: heavrnl/nexus-terminal-remote-gateway:latest
    container_name: nexus-terminal-remote-gateway
    environment:
      GUACD_HOST: guacd
      GUACD_PORT: 4822
      REMOTE_GATEWAY_API_PORT: 9090
      REMOTE_GATEWAY_WS_PORT: 8080
      FRONTEND_URL: http://frontend
      MAIN_BACKEND_URL: http://backend:3001
      NODE_ENV: production
    depends_on:
      - guacd
      - backend

  guacd:
    image: guacamole/guacd:latest
    container_name: nexus-terminal-guacd
    restart: unless-stopped





5.4 创建Nexus Terminal容器

执行以下命令,创建Nexus Terminal容器。

docker compose up -d

在这里插入图片描述

5.5 查看Nexus Terminal容器状态

检查Nexus Terminal容器运行状态,确保Nexus Terminal容器正常启动。

root@jeven01:/data/nexus-terminal# docker compose ps
NAME                            IMAGE                                          COMMAND                  SERVICE          CREATED         STATUS               PORTS
nexus-terminal-backend          heavrnl/nexus-terminal-backend:latest          "docker-entrypoint.s…"   backend          5 minutes ago   Up 5 minutes             3001/tcp
nexus-terminal-frontend         heavrnl/nexus-terminal-frontend:latest         "/docker-entrypoint.…"   frontend         5 minutes ago   Up 5 minutes             0.0.0.0:18111->80/tcp, [::]:18111->80/tcp
nexus-terminal-guacd            guacamole/guacd:latest                         "/opt/guacamole/entr…"   guacd            5 minutes ago   Up 5 minutes (healthy)   4822/tcp
nexus-terminal-remote-gateway   heavrnl/nexus-terminal-remote-gateway:latest   "docker-entrypoint.s…"   remote-gateway   5 minutes ago   Up 5 minutes             8081/tcp, 9090/tcp

六、访问Nexus Terminal服务

浏览器地址: http://<个人的服务器IP>:18111,访问Nexus Terminal的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在这里插入图片描述

自定义填写登录账号密码,确认创建账号。

在这里插入图片描述

在这里插入图片描述

七、Nexus Terminal基本使用

7.1 添加服务器

依次点击终端——连接列表——添加第一个连接,进入服务器登录信息配置页面。

在这里插入图片描述
在这里插入图片描述

这里填写宿主机服务器作为测试,填写登录信息完毕后,点击【确认添加】。

在这里插入图片描述

添加完成后双击服务器名称即可完成SSH远程登录,如下所示:

在这里插入图片描述

7.2 快速编辑文件

在下方的文件列表中,选择文件后,即可在左侧区域打开文件进行编辑。

在这里插入图片描述

7.3 审计日志

系统中的所有操作日志均可在审计日志中查询到,便于追踪与审查。通过审计日志,可以全面了解系统的操作记录,提升安全性和可维护性。

在这里插入图片描述

八、总结

通过 Docker 部署 Nexus Terminal,不仅能够快速搭建起一个高颜值、功能强大的 SSH 客户端工具,还能充分利用容器化带来的环境隔离与部署便捷性。整个过程操作简单,适合各类用户快速上手。无论是日常运维还是远程管理,Nexus Terminal 都能显著提升效率与使用体验。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖有缘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值