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. 网页的MVC模式简介

    #! /usr/bin/env python3 # -*- coding:utf-8 -*- #MVC:Model-View-Controller 模型-视图-控制器 #Python处理URL的函数就 ...

  2. 十九. Python基础(19)--异常

    十九. Python基础(19)--异常 1 ● 捕获异常 if VS异常处理: if是预防异常出现, 异常处理是处理异常出现 异常处理一般格式: try:     <............. ...

  3. sass和scss的区别

    页面引入的时候还是引入的css文件 因为sass和scss都是一种css的预处理工具 目的最后都是生成css文件 sass不带{}和:是基于Ruby 写出来的,严格的缩进方式来控制 scss带这两个 ...

  4. 无法卸载Sql Server 的解决办法

    提示如下: 解决办法: 命令提示符——>wmic——>product list 找到与Sql Server 有关的程序: 重新打开一个命令提示符: 执行卸载命令:msiexec /x {7 ...

  5. table-cell 布局

    table-cell能实现段落文字相对于div的垂直居中: 将div设置为display:table-cell; *display:inline-block;text-align:center; ve ...

  6. linux,windows下日志文件查找关键词

    1.查找 /apps/tomcat/tomcat3/apache-tomcat-7.0.69/logs 目录下已.txt结尾的文件,在文件中搜索关键字 IfcmpEcrService并打印行号 /lo ...

  7. Effective Java Chapter4 Classes and Interface

    MInimize the accessibility of classes and members 这个叫做所谓的 information hiding ,这么做在于让程序耦合度更低,增加程序的健壮性 ...

  8. 2019-02-25 EST 科技文翻译

    The Definition of Theme and Rheme The point of departure is equally presented to the speaker and to ...

  9. 如何用UltraEdit查看并修改Oracle导出的dump文件的字符集

    如何查询dmp文件的字符集 用oracle的exp工具导出的dmp文件也包含了字符集信息,dmp文件的第2和第3个字节记录了dmp文件的字符集.如果dmp文件不大,比如只有几M或几十M,可以用Ultr ...

  10. ios 汽车品牌展示案例

    汽车组模型 // ZQRGroup.h #import <Foundation/Foundation.h> @interface ZQRGroup : NSObject /** *组标题 ...