jamdoog.teleport

Ansible Rolle: Teleport

Diese Rolle wird Teleport auf einem bestimmten Server installieren.

Was das macht:

Sie können konfigurieren, welche Teile einer Teleport-Installation Sie mit Variablen wünschen.

  • Installation von Teleport über DEB/RPM mit GPG-Überprüfung
  • Installation von Teleport aus einem Tarball mit GPG-Überprüfung (für Systeme ohne apt/rpm)
  • Automatische Registrierung als Knoten für SSH
  • Automatische Bereitstellung von "Befehlen"/Labels für SSH und Anwendungen wie Kernel, Teleport und mehr Versionierung.
  • Automatische Generierung eines Einladungstokens

Voraussetzungen

Ein System, das systemd verwendet Dies wurde nur auf folgenden Systemen getestet:

Debian 10/11
RHEL 7/8/9
openSUSE 15.0/1/2/3/Tumbleweed

Wie die Token-Generierung funktioniert:

  • Token mit dem tctl-Befehl im JSON-Format generieren
  • Token extrahieren
  • Aktualisierung der Variablen "INVITE_TOKEN"

So verwenden Sie die Token-Generierungsfunktion:

  • Füllen Sie die folgenden Variablen aus:

GENERATE_TOKEN: true # erforderlich, um die Token-Generierung zu starten GENERATE_TOKEN_COMBO: true # Wenn Sie sowohl ein Anwendungs- als auch ein Knotentoken generieren möchten. Verwenden Sie dies nicht in Kombination mit den unten stehenden Variablen "GENERATE_TOKEN_<....>_ONLY". GENERATE_TOKEN_SSH_ONLY: false # Wenn Sie nur ein Knotentoken generieren möchten GENERATE_TOKEN_APP_ONLY: false # Wenn Sie nur ein Anwendunstoken generieren möchten TELEPORT_TOKEN_HOST: "Jump" # Der Host (über SSH), auf dem tctl ausgeführt wird TOKEN_TTL: "2m" # TTL (Time-to-live) des Tokens.

Rollenvariablen

Gruppenvariablen:

Name Typ Beispiel
INVITE_TOKEN Zeichenkette 4f622402dawdawdaw
CA_PIN Zeichenkette sha256:2awdwadwad678767awd768awdd
TELEPORT_HOST Zeichenkette teleport.domain.tld:443
TELEPORT_MAJOR_VERSION INT 10
TELEPORT_MINOR_VERSION FLOAT 3.5
GENERATE_TOKEN bool true
GENERATE_TOKEN_COMBO bool true
GENERATE_TOKEN_SSH_ONLY bool false
GENERATE_TOKEN_APP_ONLY bool false
TELEPORT_TOKEN_HOST Zeichenkette "Jump"
TOKEN_TTL Zeichenkette "10m"

Hostvariablen:

Name Typ Beispiel
SSH_SERVICE bool true
APP_SERVICE bool true
CREATE_SSH_COMMANDS bool true
CREATE_APP_COMMANDS bool true
CREATE_COMMAND bool true
CREATE_OS_COMMAND bool true
CREATE_KERNEL_COMMAND bool true
CREATE_TELEPORT_COMMAND bool true
CREATE_HOSTNAME_COMMAND bool true
CREATE_VIRTUALIZATION_COMMAND bool true
TELEPORT_APPLICATION_NAME Zeichenkette proxmox
TELEPORT_APPLICATION_IGNORE_TLS Zeichenkette true
TELEPORT_APPLICATION_URI Zeichenkette https://192.168.200.1:8006

Abhängigkeiten

Es gibt keine Abhängigkeiten für diese Rolle

Beispiel-Playbook

PLAYBOOK (KEIN GENERIERTES TOKEN):

- hosts: teleport
  become: true
  roles:
    - jamdoog.teleport
  vars:
    - INVITE_TOKEN: 4f622402dawdawdaw
    - CA_PIN: sha256:2awdwadwad678767awd768awdd
    - TELEPORT_HOST: domain.tld:443
    - TELEPORT_MINOR_VERSION: 3.2
    - TELEPORT_MAJOR_VERSION: 10
    - SSH_SERVICE: true
    - APP_SERVICE: true
    - CREATE_COMMANDS: true 
    - CREATE_HOSTNAME_COMMAND: true 
    - CREATE_OS_COMMAND: true
    - CREATE_KERNEL_COMMAND: true
    - CREATE_TELEPORT_COMMAND: true
    - CREATE_VIRTUALIZATION_COMMAND: true
    - TELEPORT_APPLICATION_NAME: "proxmox"
    - TELEPORT_APPLICATION_IGNORE_TLS: true
    - TELEPORT_APPLICATION_URI: "https://192.168.200.1:8006"

PLAYBOOK (GENERIERTER TOKEN):

- hosts: teleport
  become: true
  roles:
    - jamdoog.teleport
  vars:
    - GENERATE_TOKEN: true
    - GENERATE_TOKEN_COMBO: true
    - GENERATE_TOKEN_SSH_ONLY: false
    - GENERATE_TOKEN_APP_ONLY: false
    - TELEPORT_TOKEN_HOST: "Jump"
    - TOKEN_TTL: "2m"
    - CA_PIN: sha256:2awdwadwad678767awd768awdd
    - TELEPORT_HOST: domain.tld:443
    - TELEPORT_MINOR_VERSION: 3.2
    - TELEPORT_MAJOR_VERSION: 10
    - SSH_SERVICE: true
    - APP_SERVICE: true
    - CREATE_COMMANDS: true 
    - CREATE_HOSTNAME_COMMAND: true 
    - CREATE_OS_COMMAND: true
    - CREATE_KERNEL_COMMAND: true
    - CREATE_TELEPORT_COMMAND: true
    - CREATE_VIRTUALIZATION_COMMAND: true
    - TELEPORT_APPLICATION_NAME: "proxmox"
    - TELEPORT_APPLICATION_IGNORE_TLS: true
    - TELEPORT_APPLICATION_URI: "https://192.168.200.1:8006"

Lizenz

BSD

Autoreninformation

Diese Rolle wurde von James Ledger erstellt. Ich schreibe über Themen auf https://jamesledger.net

Über das Projekt

A ansible role to automatically deploy a node as a teleport instance

Installieren
ansible-galaxy install jamdoog.teleport
GitHub Repository
Lizenz
bsd-3-clause
Downloads
1.2k
Besitzer