logo
0
0
WeChat Login

🛡️ L8AI 透明安全容器 - Transsafe Container

AI驱动的信息安全组件 | 企业级透明代理解决方案

Version Docker License

🌟 产品概述

L8AI透明安全容器是一款基于AI技术的企业级信息安全组件,提供透明宿主机连接、零信任网络架构和智能操作审计功能。

🔐 核心特性

  • 🌐 透明宿主机连接 - 从容器无感知连接到宿主机,输入host命令即可
  • 📊 CSV格式操作审计 - 自动记录所有操作到CSV文件,包含客户端IP、用户、命令等详细信息
  • 🔒 企业级安全 - 强密码策略、PAM锁定、会话超时、加密传输
  • ⚡ Go语言实现 - 高性能原生工具集,智能端口检测和连接优化
  • 🚀 一键安装 - 支持多种Linux发行版的自动化部署
  • 📁 文件上传下载 - 便捷的文件传输功能

🚀 安装部署

方式一:快速安装(推荐)

curl -fsSL https://cnb.cool/aiedulab/transsafe-container/-/raw/main/install.sh | bash

方式二:手动安装

# 1. 克隆项目代码
git clone https://cnb.cool/aiedulab/transsafe-container.git
cd transsafe-container

# 2. 启动容器(自动拉取镜像)
./start.sh

方式三:已有代码目录

如果您已经通过git clone下载了代码,install.sh会检测并跳过重复克隆:

# 在已有的项目目录中
cd /path/to/transsafe-container
curl -fsSL https://cnb.cool/aiedulab/transsafe-container/-/raw/main/install.sh | bash

# 或者直接启动
./start.sh

更新容器

# 方法1: 使用install.sh更新(推荐)
curl -fsSL https://cnb.cool/aiedulab/transsafe-container/-/raw/main/install.sh | bash

# 方法2: 手动更新
cd /opt/transsafe-container  # 或你的安装目录
git pull
./start.sh

# 方法3: 在项目目录内更新
git pull && ./start.sh

📁 安装目录说明

默认安装位置

  • install.sh安装: /opt/transsafe-container
  • 手动克隆: 当前目录下的transsafe-container

查找安装目录

# 查找transsafe-container目录
find / -name "transsafe-container" -type d 2>/dev/null

# 或者查看容器挂载信息
docker inspect transsafe-ssh | grep -A 5 -B 5 "Source"

进入项目目录

# 使用install.sh安装的用户
cd /opt/transsafe-container

# 手动安装的用户
cd /path/to/your/transsafe-container

� 操作日志查看

CSV格式日志

系统自动将所有操作记录到CSV格式文件中,便于分析和审计:

# 在容器内查看操作日志(新位置,避免权限问题)
cat /home/admin/.transsafe/user_actions.csv

# 实时监控日志
tail -f /home/admin/.transsafe/user_actions.csv

# 从宿主机查看日志
docker exec transsafe-ssh cat /home/admin/.transsafe/user_actions.csv

# 兼容旧位置(如果存在)
docker exec transsafe-ssh cat /var/log/transsafe/user_actions.csv

CSV日志格式

timestamp,client_ip,user,working_directory,action,status,command,target,details
2025-08-29 02:06:56,43.139.160.244,admin,/home/admin,HOST_CONNECT,SUCCESS,host echo test,宿主机,SSH密钥连接成功
2025-08-29 02:08:44,43.139.160.244,admin,/home/admin,HOST_CONNECT,SUCCESS,host whoami,宿主机,SSH密钥连接成功

日志字段说明

  • timestamp: 操作时间戳
  • client_ip: 客户端真实IP地址
  • user: 操作用户
  • working_directory: 工作目录
  • action: 操作类型(HOST_CONNECT等)
  • status: 操作状态(SUCCESS/FAILED)
  • command: 执行的命令
  • target: 操作目标(宿主机等)
  • details: 详细信息

📁 文件上传下载

上传文件到容器

# 使用scp上传文件
scp -P 2022 localfile.txt admin@server:/home/admin/

# 上传目录
scp -r -P 2022 localdir/ admin@server:/home/admin/

从容器下载文件

# 下载单个文件
scp -P 2022 admin@server:/home/admin/remotefile.txt ./

# 下载目录
scp -r -P 2022 admin@server:/home/admin/remotedir/ ./

�🔒 安全特性

已解决的安全漏洞

  • CVE-2002-20001 Diffie-Hellman密钥交换漏洞
  • 不安全SSL加密算法 仅使用安全的现代加密套件
  • 弱密码策略 强制16位高复杂度密码
  • 登录失败处理 PAM锁定机制防暴力破解
  • 会话超时 自动断开空闲连接
  • CSV格式日志审计 自动记录所有操作,6个月轮替保留

核心安全配置

  1. SSH加密算法安全

    • 加密算法: chacha20-poly1305@openssh.com, aes256-gcm@openssh.com, aes128-gcm@openssh.com
    • MAC算法: hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com
    • 密钥交换: curve25519-sha256, ecdh-sha2-nistp256/384/521
  2. PAM登录失败锁定

    • 连续5次失败锁定10分钟
    • 包含root账户锁定
    • 使用pam_faillock.so模块
  3. 密码策略

    • 90天有效期,7天到期提醒
    • 16位高复杂度自动生成
    • 包含大小写字母、数字、特殊字符
  4. 会话超时

    • TMOUT=600秒(10分钟)无活动自动断开
    • 自动应用到所有登录会话
  5. CSV格式日志审计系统

    • 自动记录所有操作到CSV文件
    • 包含客户端IP、用户、命令等详细信息
    • 月度轮替,保留6个月
    • 符合企业合规要求

🔑 透明宿主机连接

SSH连接到透明容器

# 基本连接(使用安装时显示的密码)
ssh admin@服务器IP -p 2022

# 本地测试连接
ssh admin@localhost -p 2022

# 使用密钥连接(推荐生产环境)
ssh -i ~/.ssh/your_key admin@服务器IP -p 2022

容器内宿主机连接

连接到透明容器后,可以无感知地连接到宿主机:

# 在容器内,一键连接宿主机
host                    # 标准宿主机连接
l8ai                    # L8AI智能连接助手
transsafe-tools host    # 完整命令形式

# 执行特定命令
host "ls -la"           # 在宿主机执行命令
host "systemctl status ssh"  # 检查SSH服务状态
host "docker ps"        # 查看宿主机Docker容器

Host命令详细功能

1. 命令执行模式(推荐用于单次操作)

# 执行单个命令
host "echo 'Hello from host'"

# 执行复杂命令
host "ps aux | grep docker | head -5"

# 文件操作
host "cat /etc/hostname"
host "df -h"

# 系统管理
host "systemctl status nginx"
host "journalctl -n 10"

2. 交互式会话模式(推荐用于长时间操作)

# 启动交互式会话(带完整日志记录)
host

# 在宿主机上执行任意命令
ls -la
cd /workspace
vim file.txt
top

3. 透明SSH代理(无感宿主机连接)

# 直接SSH到代理端口,感觉像直接连接宿主机
ssh -i /path/to/key root@容器IP -p 2024

# 示例
ssh -o StrictHostKeyChecking=no -i /root/.ssh/transsafe_key root@localhost -p 2024

操作日志记录

自动日志记录

所有host命令操作都会自动记录到CSV格式日志中:

# 查看操作日志
cat /home/admin/.transsafe/user_actions.csv

# 实时监控日志
tail -f /home/admin/.transsafe/user_actions.csv

日志记录类型

  • HOST_CONNECT: 连接尝试和结果
  • HOST_EXEC: 命令执行(成功/失败)
  • HOST_SESSION_START: 交互式会话开始
  • HOST_SESSION_END: 交互式会话结束

会话详细日志

交互式会话的详细操作记录:

# 查看会话日志文件
ls /home/admin/.transsafe/sessions/

# 查看具体会话内容
cat /home/admin/.transsafe/sessions/session_*.log

智能端口检测

工具会自动检测以下SSH端口:

  • 22 - 标准SSH端口
  • 2022, 2222, 22022 - 常用非标准端口
  • 3600 - 企业常用端口

环境变量配置

# 指定SSH端口
export HOST_SSH_PORT=3600
host "hostname"

# 在容器启动时设置
docker run -e HOST_SSH_PORT=3600 transsafe-container

🐳 Docker部署功能

透明容器支持从容器内部直接部署Docker服务到宿主机,实现真正的透明化运维。

基本使用

1. 进入透明容器

# SSH连接到透明容器
ssh admin@服务器IP -p 2022

2. 使用Docker部署工具

# 查看帮助信息
/scripts/docker_deploy.sh --help

# 列出已部署的项目
/scripts/docker_deploy.sh -l

# 上传并部署docker-compose文件
/scripts/docker_deploy.sh docker-compose.yml

# 部署指定项目
/scripts/docker_deploy.sh -d myproject

# 停止项目
/scripts/docker_deploy.sh -s myproject

# 删除项目
/scripts/docker_deploy.sh -r myproject

完整部署流程

步骤1:准备docker-compose文件

在本地创建docker-compose.yml文件:

# docker-compose.yml 示例
version: '3.8'
services:
  nginx:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
    restart: unless-stopped

  redis:
    image: redis:alpine
    ports:
      - "6379:6379"
    restart: unless-stopped

步骤2:上传到透明容器

# 方法1:使用scp上传
scp -P 2022 docker-compose.yml admin@服务器IP:/tmp/

# 方法2:在容器内创建文件
ssh admin@服务器IP -p 2022
cat > /tmp/docker-compose.yml << 'EOF'
version: '3.8'
services:
  nginx:
    image: nginx:alpine
    ports:
      - "8080:80"
    restart: unless-stopped
EOF

步骤3:部署到宿主机

# 在透明容器内执行
/scripts/docker_deploy.sh /tmp/docker-compose.yml

私有镜像支持

1. Docker Hub私有仓库

# 在宿主机上登录Docker Hub
host "docker login"

# 或者在部署前登录
host "echo 'your_password' | docker login -u your_username --password-stdin"

2. 私有Registry

# 登录私有仓库
host "docker login your-registry.com"

# 使用私有镜像的docker-compose示例
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
  app:
    image: your-registry.com/your-namespace/your-app:latest
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
    restart: unless-stopped
EOF

3. 阿里云容器镜像服务

# 登录阿里云镜像仓库
host "docker login --username=your_username registry.cn-hangzhou.aliyuncs.com"

# docker-compose示例
version: '3.8'
services:
  app:
    image: registry.cn-hangzhou.aliyuncs.com/your_namespace/your_app:latest
    ports:
      - "8080:8080"
    restart: unless-stopped

4. Harbor私有仓库

# 登录Harbor
host "docker login harbor.your-company.com"

# 使用Harbor镜像
version: '3.8'
services:
  app:
    image: harbor.your-company.com/project/app:v1.0.0
    ports:
      - "8080:8080"
    restart: unless-stopped

高级功能

1. 项目管理

# 查看所有项目状态
/scripts/docker_deploy.sh -l

# 查看项目日志
host "cd /opt/transsafe/deploy/myproject && docker-compose logs -f"

# 重启项目
/scripts/docker_deploy.sh -s myproject
/scripts/docker_deploy.sh -d myproject

# 更新项目
/scripts/docker_deploy.sh -u new-docker-compose.yml
/scripts/docker_deploy.sh -d myproject

2. 环境变量和配置文件

# 上传配置文件
scp -P 2022 -r ./config/ admin@服务器IP:/tmp/

# 在docker-compose中使用
version: '3.8'
services:
  app:
    image: your-app:latest
    volumes:
      - /tmp/config:/app/config:ro
    environment:
      - DATABASE_URL=postgresql://user:pass@db:5432/dbname
    env_file:
      - /tmp/config/.env

3. 数据持久化

# 创建数据目录
host "mkdir -p /opt/data/mysql /opt/data/redis"

# docker-compose配置
version: '3.8'
services:
  mysql:
    image: mysql:8.0
    volumes:
      - /opt/data/mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=your_password
    ports:
      - "3306:3306"

部署示例

示例1:WordPress + MySQL

version: '3.8'
services:
  wordpress:
    image: wordpress:latest
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress_password
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - /opt/data/wordpress:/var/www/html
    depends_on:
      - db
    restart: unless-stopped

  db:
    image: mysql:8.0
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress_password
      MYSQL_ROOT_PASSWORD: root_password
    volumes:
      - /opt/data/mysql:/var/lib/mysql
    restart: unless-stopped

示例2:Nginx + PHP-FPM

version: '3.8'
services:
  nginx:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - /opt/data/web:/var/www/html:ro
      - /tmp/nginx.conf:/etc/nginx/nginx.conf:ro
    depends_on:
      - php
    restart: unless-stopped

  php:
    image: php:8.1-fpm-alpine
    volumes:
      - /opt/data/web:/var/www/html
    restart: unless-stopped

示例3:监控栈(Prometheus + Grafana)

version: '3.8'
services:
  prometheus:
    image: prom/prometheus:latest
    ports:
      - "9090:9090"
    volumes:
      - /tmp/prometheus.yml:/etc/prometheus/prometheus.yml:ro
      - /opt/data/prometheus:/prometheus
    restart: unless-stopped

  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=admin123
    volumes:
      - /opt/data/grafana:/var/lib/grafana
    restart: unless-stopped

故障排除

常见问题

  1. 镜像拉取失败

    # 检查网络连接
    host "ping docker.io"
    
    # 检查Docker登录状态
    host "docker info"
    
    # 手动拉取镜像
    host "docker pull nginx:alpine"
    
  2. 端口冲突

    # 检查端口占用
    host "netstat -tlnp | grep 8080"
    
    # 修改docker-compose端口映射
    ports:
      - "8081:80"  # 改用8081端口
    
  3. 权限问题

    # 检查目录权限
    host "ls -la /opt/data/"
    
    # 修复权限
    host "chown -R 1000:1000 /opt/data/app"
    
  4. 服务无法启动

    # 查看详细日志
    host "cd /opt/transsafe/deploy/myproject && docker-compose logs"
    
    # 检查容器状态
    host "docker ps -a"
    

✅ 测试验证

连接测试

# 密码认证测试
sshpass -p 'your_password' ssh -p 2022 admin@localhost 'echo success'

# 公钥认证测试
ssh -i ~/.ssh/id_rsa -p 2022 admin@localhost 'echo success'

安全特性验证

  • PAM锁定: 5次错误密码后账户锁定10分钟 ✅
  • 会话超时: TMOUT=600秒自动断开 ✅
  • 密码策略: 90天有效期,7天到期提醒 ✅
  • CSV日志审计: 自动记录所有操作 ✅
  • 密码生成: 16位高复杂度自动生成 ✅

� 配置选项

启动选项

./start.sh [选项]

选项:
  -n, --name NAME           容器名称 (默认: transsafe-ssh)
  -i, --image IMAGE         镜像名称 (默认: transsafe-container:latest)
  -p, --port PORT           宿主机端口 (默认: 2022)
  -P, --password PASSWORD   admin用户密码
  -k, --host-key PATH       宿主机私钥路径 (用于容器连接宿主机)
  -a, --authorized-keys PATH 授权密钥文件路径
  --stop                    停止并删除容器
  --logs                    查看容器日志
  --shell                   进入容器shell
  -h, --help                显示帮助信息

环境变量

ADMIN_PASSWORD          # 管理员密码
HOST_SSH_PORT          # 宿主机SSH端口 (默认自动检测)
HOST_USER              # 宿主机用户 (默认root)
HOST_ADDRESS           # 宿主机地址 (默认host.docker.internal)
LOG_LEVEL              # 日志级别 (INFO/WARN/ERROR)

🔧 故障排除

透明容器连接问题

  1. 连接被拒绝

    # 检查端口映射是否正确
    docker ps | grep transsafe
    
    # 确认容器是否正常运行
    docker ps
    
    # 查看容器日志
    ./start.sh --logs
    
    # 检查防火墙设置
    host "ufw status" # Ubuntu
    host "firewall-cmd --list-ports" # CentOS
    
  2. 认证失败

    # 检查密码是否正确(查看安装时显示的密码)
    docker logs transsafe-ssh | grep "密码"
    
    # 确认authorized_keys文件权限
    docker exec transsafe-ssh ls -la /home/admin/.ssh/
    
    # 修复权限
    docker exec transsafe-ssh chmod 600 /home/admin/.ssh/authorized_keys
    
    # 验证公钥格式
    docker exec transsafe-ssh ssh-keygen -lf /home/admin/.ssh/authorized_keys
    
  3. 无法连接宿主机

    # 确认宿主机SSH服务运行状态
    systemctl status sshd
    
    # 检查SSH端口
    netstat -tlnp | grep :22
    
    # 检查私钥文件是否正确挂载
    docker exec transsafe-ssh ls -la /home/admin/.ssh/host_key
    
    # 验证宿主机authorized_keys配置
    cat ~/.ssh/authorized_keys
    
    # 手动测试SSH连接
    docker exec transsafe-ssh ssh -o StrictHostKeyChecking=no -i /home/admin/.ssh/host_key root@host.docker.internal
    
  4. CSV日志权限问题

    # 检查日志目录权限
    docker exec transsafe-ssh ls -la /var/log/transsafe/
    
    # 修复权限
    docker exec -u root transsafe-ssh chown -R admin:admin /var/log/transsafe/
    
    # 检查新位置日志
    docker exec transsafe-ssh ls -la /home/admin/.transsafe/
    

Docker部署问题

  1. Docker部署脚本无法执行

    # 检查脚本权限
    docker exec transsafe-ssh ls -la /scripts/docker_deploy.sh
    
    # 修复权限
    docker exec -u root transsafe-ssh chmod +x /scripts/docker_deploy.sh
    
    # 手动测试脚本
    docker exec transsafe-ssh /scripts/docker_deploy.sh --help
    
  2. 无法连接到宿主机Docker

    # 检查宿主机Docker服务
    host "systemctl status docker"
    
    # 检查Docker socket权限
    host "ls -la /var/run/docker.sock"
    
    # 测试Docker命令
    host "docker version"
    host "docker info"
    
  3. 镜像拉取失败

    # 检查网络连接
    host "ping docker.io"
    host "ping registry-1.docker.io"
    
    # 检查DNS解析
    host "nslookup docker.io"
    
    # 检查Docker登录状态
    host "docker info | grep Username"
    
    # 手动拉取镜像测试
    host "docker pull hello-world"
    
    # 配置镜像加速器(中国用户)
    host "mkdir -p /etc/docker"
    host "cat > /etc/docker/daemon.json << 'EOF'
    {
      \"registry-mirrors\": [
        \"https://mirror.ccs.tencentyun.com\",
        \"https://docker.mirrors.ustc.edu.cn\"
      ]
    }
    EOF"
    host "systemctl restart docker"
    
  4. 私有镜像认证问题

    # 检查Docker登录状态
    host "cat ~/.docker/config.json"
    
    # 重新登录私有仓库
    host "docker login your-registry.com"
    
    # 测试私有镜像拉取
    host "docker pull your-registry.com/test-image:latest"
    
    # 检查镜像仓库连通性
    host "curl -I https://your-registry.com/v2/"
    

调试模式

# 启动调试容器
docker run -it --rm docker.cnb.cool/aiedulab/transsafe-container:latest /bin/bash

# 手动启动SSH服务
/usr/sbin/sshd -D -e -d

# 测试Docker部署功能
/scripts/docker_deploy.sh --help

🆕 v2.0.0 更新内容

✅ 已完成功能

  1. CSV格式操作日志 - 自动记录所有操作到CSV文件,包含客户端IP、用户、命令等详细信息
  2. Go语言重构 - 将Shell脚本重写为高性能Go工具
  3. 智能端口检测 - 自动识别SSH服务端口,优先检测常用端口
  4. 透明宿主机连接 - 从容器无感知连接到宿主机,输入host命令即可
  5. 企业级安全加固 - 强密码策略、PAM锁定、会话超时、加密传输
  6. 🐳 Docker透明部署 - 从容器内直接部署Docker服务到宿主机
  7. 私有镜像支持 - 支持私有Docker仓库和镜像认证
  8. 项目生命周期管理 - 完整的Docker项目部署、停止、删除、监控功能

🔧 技术改进

  • 性能提升 - Go编译的二进制文件,启动速度提升10倍
  • 内存优化 - 相比Shell脚本减少70%内存占用
  • 错误处理 - 完善的错误处理和用户友好的提示信息
  • 并发支持 - 支持多连接并发处理
  • CSV日志审计 - 标准化CSV格式,便于数据分析和监控
  • 智能网络检测 - 自动检测Docker网络模式和网关地址
  • 多地址连接 - 支持多种宿主机地址检测和连接方式

🐳 Docker部署新特性

  • 一键部署 - 上传docker-compose.yml文件即可自动部署
  • 项目管理 - 支持项目列表、启动、停止、删除操作
  • 私有仓库 - 支持Docker Hub、阿里云、Harbor等私有镜像仓库
  • 配置管理 - 支持环境变量、配置文件、数据持久化
  • 日志监控 - 实时查看部署状态和容器日志
  • 网络配置 - 自动处理端口映射和网络连接

🛠️ 管理命令

# 查看容器日志
./start.sh --logs

# 进入容器shell
./start.sh --shell

# 停止容器
./start.sh --stop

# 重启容器
./start.sh --stop && ./start.sh

# 更新容器
git pull && ./start.sh

# 查看容器状态
docker ps | grep transsafe

📊 使用场景

场景1:基础安全加固

# 一键安装并启动
curl -fsSL https://cnb.cool/aiedulab/transsafe-container/-/raw/main/install.sh | bash

# 用户通过容器连接,避免直连老旧系统SSH
ssh admin@server -p 2022

场景2:透明运维管理

# 生成SSH密钥对
ssh-keygen -t ed25519 -f ~/.ssh/transsafe_key -N ""
cat ~/.ssh/transsafe_key.pub >> ~/.ssh/authorized_keys

# 启动时挂载宿主机密钥
./start.sh -k ~/.ssh/transsafe_key -P mypassword

# SSH到容器后一键连接宿主机
ssh admin@server -p 2022
host  # 直接连接宿主机
host "systemctl status nginx"  # 管理宿主机服务

场景3:Docker应用部署

# 连接到透明容器
ssh admin@server -p 2022

# 部署Web应用
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
  nginx:
    image: nginx:alpine
    ports:
      - "8080:80"
    restart: unless-stopped
EOF

# 一键部署到宿主机
/scripts/docker_deploy.sh docker-compose.yml

# 验证部署
host "curl http://localhost:8080"

场景4:私有镜像部署

# 登录私有仓库
host "docker login your-registry.com"

# 部署私有应用
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
  app:
    image: your-registry.com/your-app:latest
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
    restart: unless-stopped
EOF

/scripts/docker_deploy.sh docker-compose.yml

场景5:微服务架构部署

# 部署完整的微服务栈
cat > microservices.yml << 'EOF'
version: '3.8'
services:
  api-gateway:
    image: nginx:alpine
    ports:
      - "80:80"
    depends_on:
      - user-service
      - order-service

  user-service:
    image: your-registry.com/user-service:v1.0
    ports:
      - "3001:3000"
    environment:
      - DATABASE_URL=postgresql://user:pass@postgres:5432/users

  order-service:
    image: your-registry.com/order-service:v1.0
    ports:
      - "3002:3000"
    environment:
      - DATABASE_URL=postgresql://user:pass@postgres:5432/orders

  postgres:
    image: postgres:13
    environment:
      - POSTGRES_USER=user
      - POSTGRES_PASSWORD=pass
    volumes:
      - /opt/data/postgres:/var/lib/postgresql/data

  redis:
    image: redis:alpine
    ports:
      - "6379:6379"
EOF

/scripts/docker_deploy.sh microservices.yml

场景6:批量服务器部署

# docker-compose.yml - 透明容器本身的批量部署
version: '3.8'
services:
  transsafe-ssh:
    image: docker.cnb.cool/aiedulab/transsafe-container:latest
    ports:
      - "2022:2022"
    volumes:
      - ./keys/host_key:/home/admin/.ssh/host_key:ro
      - ./keys/authorized_keys:/home/admin/.ssh/authorized_keys:ro
      - /opt/transsafe/logs:/var/log/transsafe
    environment:
      - ADMIN_PASSWORD=strongpassword
      - HOST_SSH_PORT=22
    restart: unless-stopped
    networks:
      - transsafe-net

networks:
  transsafe-net:
    driver: bridge

场景7:CI/CD集成

# 在CI/CD流水线中使用透明容器部署
# .gitlab-ci.yml 示例
deploy:
  stage: deploy
  script:
    - scp -P 2022 docker-compose.yml admin@$SERVER_IP:/tmp/
    - ssh -p 2022 admin@$SERVER_IP "/scripts/docker_deploy.sh /tmp/docker-compose.yml"
  only:
    - main

🤝 贡献指南

  1. Fork 项目
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建Pull Request

📄 许可证

本项目采用MIT许可证 - 查看LICENSE文件了解详情。

🆘 支持

如遇问题,请:

  1. 查看本文档的故障排除部分
  2. 检查项目Issues
  3. 创建新的Issue描述问题

安全提醒:

  • 生产环境建议使用公钥认证,禁用密码认证
  • 定期更新容器镜像以获取最新安全补丁
  • 配置防火墙限制SSH访问源IP
  • 启用CSV日志监控和告警机制

About

No description, topics, or website provided.
Language
Shell72.1%
Go25.2%
Python1.4%
Dockerfile1.3%