Gravitational Teleport 可以作为堡垒机进行使用,上次写过一个all in one 的,这次参考官方
的配置运行一个proxy node auth 分离的应用
备注: 基于docker-compose 运行

环境准备

  • docker-compose 文件
 
version: '2'
services:
  two-auth:
    mem_limit: 300m
    image: quay.io/gravitational/teleport:3.1.1
    container_name: two-auth
    volumes:
      - ./data/two/auth:/var/lib/teleport
      - ./two-auth.yaml:/etc/teleport/teleport.yaml
    networks:
      teleport:
        ipv4_address: 172.10.1.2
  two-proxy:
    mem_limit: 300m
    image: quay.io/gravitational/teleport:3.1.1
    container_name: two-proxy
    ports:
      - "5080:5080"
      - "5023:5023"
    volumes:
      - ./data/two/proxy:/var/lib/teleport
      - ./two-proxy.yaml:/etc/teleport/teleport.yaml
    networks:
      teleport:
        ipv4_address: 172.10.1.3
  two-node:
    mem_limit: 300m
    image: quay.io/gravitational/teleport:3.1.1
    container_name: two-node
    volumes:
      - ./data/two/node:/var/lib/teleport
      - ./two-node.yaml:/etc/teleport/teleport.yaml
    networks:
      teleport:
        ipv4_address: 172.10.1.4
networks:
  teleport:
    ipam:
      driver: default
      config:
      - subnet: 172.10.1.0/16
        ip_range: 172.10.1.0/24
        gateway: 172.10.1.254
volumes:
  certs:
 
  • auth 配置文件
    two-auth.yaml: 同时运行在node 角色
 
# Auth server for cluster "two". Also runs "node" role
teleport:
  nodename: two-auth
  log:
    output: /var/lib/teleport/teleport.log
    severity: INFO
  data_dir: /var/lib/teleport
  storage:
      path: /var/lib/teleport/backend
      type: dir
auth_service:
  enabled: yes
  authentication:
    type: local
    second_factor: off
  cluster_name: two
  tokens: 
       - "node,auth,proxy:foo"
  listen_addr: 172.10.1.2:3025
ssh_service:
  enabled: yes
  labels:
      cluster: two
      role: auth+node
  commands:
      - name: kernel
        command: [/bin/uname, -r]
        period: 5m
proxy_service:
  enabled: no
  • proxy 配置文件
    two-proxy.yaml 文件:同时运行node 角色,注意指定了auth 服务同时使用静态token 进行
    加入
 
# Proxy server for cluster "two". Also runs "node" role
teleport:
  nodename: two-proxy
  auth_servers: ["two-auth"]
  auth_token: foo
  log:
    output: /var/lib/teleport/teleport.log
    severity: INFO
  data_dir: /var/lib/teleport
  storage:
      path: /var/lib/teleport/backend
      type: dir
auth_service:
  enabled: no
ssh_service:
  enabled: yes
  labels:
      cluster: two
      role: proxy+node
  commands:
      - name: kernel
        command: [/bin/uname, -r]
        period: 5m
proxy_service:
   enabled: yes
   listen_addr: 0.0.0.0:5023
   web_listen_addr: 0.0.0.0:5080
 
 
  • node 配置
    two-node.yaml,同时使用静态token 进行加入
 
# Dumb SSH node for cluster "two"
teleport:
  nodename: node-on-second-cluster
  auth_servers: ["two-auth"]
  auth_token: foo
  advertise_ip: 172.10.1.4
  log:
    output: /var/lib/teleport/teleport.log
    severity: INFO
  data_dir: /var/lib/teleport
  storage:
      path: /var/lib/teleport/backend
      type: dir
ssh_service:
  enabled: yes
  labels:
      cluster: two
      role: dumb_node
proxy_service:
   enabled: no
auth_service:
  enabled: no
 
 

运行&&测试

  • 运行
docker-compose up -d
  • 添加用户
    auth server inside 容器
 
tctl -c /etc/teleport/teleport.yaml users add root
Signup token has been created and is valid for 1 hours. Share this URL with the user:
https://localhost:3080/web/newuser/54ac1593143d9a44a497c1346f9e0fc9
NOTE: Make sure two-proxy:3080 points at a Teleport proxy which users can access.
 
 


  • 访问连接

  • 历史回放功能


参考资料

https://gravitational.com/teleport/docs/quickstart/

Gravitational Teleport docker-compose组件独立部署运行的更多相关文章

  1. Docker Compose 项目打包部署

    Docker Compose 前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build.docker run 等命令操作容器.然而微服务架构的应用系统一 ...

  2. Docker Compose编排工具部署lnmp实践及理论(详细)

    目录 一.理论概述 编排 部署 Compose原理 二.使用docker compose 部署lnmp 三.测试 四.总结 一.理论概述 Docker Compose是一个定义及运行多个Docker容 ...

  3. maven maven-war-plugin 解决java war项目间的依赖(两个war都可独立部署运行,maven 3.2.x亲测)

    最近整理基础框架,有些项目不想分布式,所以基础框架必须同时可独立部署,也可直接被作为依赖和业务工程打到一起,记录下解决war项目依赖的要点,一开始用warpath,结果报找不到,有些帖子还是17年的, ...

  4. surging+CentOS7+docker+rancher2.0 菜鸟部署运行笔记

    https://blog.csdn.net/q5934/article/details/82661250 目录 准备工作 开始干活 1.从github 获取surging源码 2.发布Surging. ...

  5. Docker Compose 部署前后端分离应用

    部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...

  6. 利用 Docker Compose 搭建 SpringBoot 运行环境(超详细步骤和分析)

    0.前言 相信点进来看这篇文章的同学们已经对 Docker Dompose 有一定的了解了,下面,我们拿最简单的例子来介绍如何使用 Docker Compose 来管理项目. 本文例子: 一个应用服务 ...

  7. 基于Docker Compose部署分布式MinIO集群

    一.概述 Minio 是一个基于Go语言的对象存储服务.它实现了大部分亚马逊S3云存储服务接口,可以看做是是S3的开源版本,非常适合于存储大容量非结构化的数据,例如图片.视频.日志文件.备份数据和容器 ...

  8. 一文掌握Docker Compose

    目录 Docker Compose介绍 Docker Compose安装 Docker Compose基本示例 1.基本文件及目录设置 2.创建一个Dockerfile 3.通过docker-comp ...

  9. 使用 Docker Compose 快速构建 TiDB 集群

    本文档介绍如何在单机上通过 Docker Compose 快速一键部署一套 TiDB 测试集群.Docker Compose 可以通过一个 YAML 文件定义多个容器的应用服务,然后一键启动或停止. ...

随机推荐

  1. Android : VLC for Android 环境搭建及编译

    一.下载VLC源码: git clone https://code.videolan.org/videolan/vlc-android.git 编译apk:   sh compile.sh -a ar ...

  2. 平行四边形 css实现

    首先将 display 设置为  inline-block 或block: 在应用skew(): transform:skewX(-45deg); 但是也会导致平行四边形内的文字倾斜如下 我们可以给文 ...

  3. 玩转X-CTR100 l STM32F4 l VIN输入电压采集(锂电池电量计)

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 采集VIN ...

  4. git相关知识点

    git add 和 git stage 有什么区别: 工作区(Working Directory).暂存区(Stage)和历史记录区(History)以及转换关系不能少: git stage 是 gi ...

  5. go语言基础学习

    go基础学习,面向对象-方法在Go语言中,可以给任意自定义类型(包括内置类型,但不包括指针类型)添加相应的方法 使用= 和:=的区别: // = 使用必须使用先var声明例如: var a a=100 ...

  6. 玩转 React【第02期】:恋上 React 模板 JSX

    往期回顾 前文中我们讲解了利用 ReactElement 来编写React程序,但是我们也看到这种方式编写 React 特别的麻烦,而且层级结构特别不清晰.今天我们来看一种优雅的编写React的代码的 ...

  7. <Java><!!!><面试题>

    装箱 & 拆箱 public class Test03 { public static void main(String[] args) { Integer f1 = 100, f2 = 10 ...

  8. golang对数组进行冒泡排序

    什么是冒泡排序? 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地 ...

  9. xampp 修改 时区为中国. timezone

    注意: xampp中的timezone 总共有两处. 第一处: 是 php.ini 默认的配置项. 第二处:是xampp在 php.ini 中重写. 之前我 只修改了 941行的代码, 结果 2013 ...

  10. lvm逻辑卷扩容

    先扩容卷组在扩容逻辑卷 1.准备磁盘分区 #fdisk -l 2.查看当前的物理卷 #pvdisplay 3.准备物理卷 #pvcreate  /dev/sdb 4.查看vg #lvdisplay 5 ...