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

举报
江湖有缘 发表于 2025/07/20 21:57:22 2025/07/20
【摘要】 @[TOC](Docker部署Nexus Terminal高颜值SSH客户端工具) 一、Nexus Terminal介绍 1.1 Nexus Terminal简介Nexus Terminal 是一款现代化的 Web SSH / RDP / VNC 客户端,提供独立桌面端应用,集成了高级安全机制与丰富的用户功能,适用于开发者、运维人员及企业团队,实现高效、安全的远程连接与管理。 1.2 Ne...

@[TOC](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。

hostname IP地址 操作系统版本 Docker版本 部署项目
jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 27.1.1 4ga 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 都能显著提升效率与使用体验。


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。