Teleport ist ein quelloffenes, einfach zu installierendes Zertifizierungsstellensystem. Falls Sie verschiedene Server haben, auf die über SSH zugegriffen werden kann, verschiedene Kubernetes-Datenbanken und Web-Apps. Teleport wird also verwendet, um sie alle auf einer Plattform als Zugangsebene zu all diesen Infrastrukturen zusammenzufassen. Es hat auch eine Funktion zum Teilen und Aufzeichnen von interaktiven Sitzungen in allen Umgebungen.
Teleport läuft auch als systemd-Dienst und ist sehr einfach zu installieren und bereitzustellen. In diesem Artikel werden wir den Installationsprozess von Teleport auf dem Ubuntu 20.04-Server besprechen.
Installation
Wie im Fall von Linux- und Mac-Betriebssystemen, Teleport-Kerndienst teleport und Admin-Tool tctl werden verwendet, da sie für solche Betriebssysteme ausgelegt sind. Auch der Teleport-Benutzer-Client tsh und UI sind für Linux, Mac und andere Betriebssysteme verfügbar.
Voraussetzungen
- Eine Linux-Maschine mit offenem Port 443
- Eine Zwei-Faktor-Authentifizierungs-App wie Authy, Google Authenticator oder Microsoft Authenticator
- Ein SSH-Client wie OpenSSH
- Zugriff auf einen DNS-Dienst wie Amazon Route 53 oder CoreDNS
Installation von Teleport auf Ubuntu 20.04 Server
Wenn Sie 32-Bit-Binärdateien oder ARM-Binärdateien möchten, sehen Sie sich die neueste Versionsseite unter diesem Link https://goteleport.com/teleport/download/ an. Um jedoch die 64-Bit-Version der Teleport-Binärdateien zu installieren, führen Sie den Befehl wie unten gezeigt aus.
Führen Sie den folgenden Befehl aus, um den öffentlichen Schlüssel von Teleport zu installieren.
$ curl https://deb.releases.teleport.dev/teleport-pubkey.asc | sudo apt-key add -
Um Repo zu APT hinzuzufügen, führen Sie den Befehl wie unten gezeigt aus.
$ sudo add-apt-repository 'deb https://deb.releases.teleport.dev/ stable main'
Um den APT-Cache zu aktualisieren, führen Sie den Befehl wie unten gezeigt aus.
$ sudo apt-get update
Um schließlich Teleport zu installieren, führen Sie den Befehl wie unten gezeigt aus.
$ sudo apt install teleport
Konfiguration des Teleports
Führen Sie für die Konfiguration des Teleports einfach die Konfiguration aus und speichern Sie sie im Yaml-Format. Für weitere Details überprüfen Sie die unten gezeigte Konfiguration mit Ihrem bevorzugten Editor.
$ sudo vim /etc/teleport.yaml
teleport: nodename: linuxways data_dir: /var/lib/teleport log: output: stderr severity: INFO format: output: text ca_pin: [] diag_addr: "" auth_service: enabled: “yes” cluster_name: "teleport" listen_addr: 0.0.0.0:3025 tokens: - proxy,node,app:e6cebf660b1f3390f204130b9649 public_addr: 5.22.209.65:3025 ssh_service: enabled: “yes” labels: env: example commands: - name: hostname command: [hostname] period: 1m0s app_service: enabled: “yes” debug_app: true proxy_service: enabled: “yes” listen_addr: 0.0.0.0:3023 web_listen_addr: 0.0.0.0:3080 tunnel_listen_addr: 0.0.0.0:3024 public_addr: 5.22.209.65:3080
Damit die Konfiguration richtig funktioniert, muss das Verzeichnis /var/lib/teleport müssen mit den richtigen Berechtigungen versehen werden, die es Teleport und tctl ermöglichen, ohne Probleme zu lesen und zu schreiben. Führen Sie zu diesem Zweck den unten gezeigten Befehl aus.
$ sudo chmod 755 -R /var/lib/teleport/
Konfiguration des Domain Name Systems
Sie müssen das Zertifikat für das sichere https-Protokoll bereitstellen. Dies ist mit dem Zertifikat möglich, das Sie bereits haben, oder indem Sie ein selbst signiertes Zertifikat erstellen oder das DNS wie tele.example.com hinzufügen, das auf Ihre öffentliche IP-Adresse verweist, und Befehle mithilfe des ACME-Protokolls ausführen, die die automatische Verfügbarkeit von TLS-Zertifikaten anfordern Lassen Sie uns verschlüsseln. Es greift auf einen HTTP-Endpunkt auf Ihrem Teleport-Host zu, um Authentifizierungsherausforderungen abzuschließen.
$ sudo teleport configure --acme [email protected] --cluster-name=tele.example.com -o file
Oder erstellen Sie ein selbstsigniertes Zertifikat und
$ sudo openssl req -x509 -days 365 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/private/teleport.key -out /etc/pki/tls/certs/teleport.crt
Fügen Sie nach der Erstellung des Zertifikats diese Zertifikate wie unten gezeigt zur Konfiguration des Teleporters hinzu.
$ sudo vim /etc/teleport.yaml
teleport: nodename: linuxways data_dir: /var/lib/teleport log: output: stderr severity: INFO format: output: text ca_pin: [] diag_addr: "" auth_service: enabled: “yes” cluster_name: "teleport" listen_addr: 0.0.0.0:3025 tokens: - proxy,node,app:e6cebf660b1f3390f204130b9649 public_addr: 5.22.209.65:3025 ssh_service: enabled: “yes” labels: env: example commands: - name: hostname command: [hostname] period: 1m0s app_service: enabled: “yes” debug_app: true proxy_service: enabled: “yes” listen_addr: 0.0.0.0:3023 web_listen_addr: 0.0.0.0:3080 tunnel_listen_addr: 0.0.0.0:3024 public_addr: 5.22.209.65:3080
https_keypairs:
- key_file: /etc/pki/tls/private/teleport1.key
cert_file: /etc/pki/tls/certs/teleport1.crt
Konfiguration des Teleport-Dienstes und Start des Dienstes
Lassen Sie uns mit den unten gezeigten Befehlen einen systemd-Dienst für den Teleport-Dienst erstellen.
$ sudo vim /etc/systemd/system/teleport.service
[Unit] Description=Teleport SSH Service After=network.target [Service] Type=simple Restart=on-failure EnvironmentFile=-/etc/default/teleport ExecStart=/usr/local/bin/teleport start --pid-file=/run/teleport.pid ExecReload=/bin/kill -HUP $MAINPID PIDFile=/run/teleport.pid LimitNOFILE=8192 [Install] WantedBy=multi-user.target
Lassen Sie uns nun den Befehl wie unten gezeigt ausführen, um den Daemon neu zu laden, den Dienst zu aktivieren und zu starten.
$ sudo systemctl daemon-reload
$ sudo systemctl start teleport
$ sudo systemctl enable teleport
Führen Sie den folgenden Befehl aus, um den Status des Teleport-Dienstes zu überprüfen.
$ sudo systemctl status teleport.service
Anlegen des Teleport-Benutzers mit Einrichtung der Zwei-Faktor-Authentifizierung
Um sich anzumelden, müssen Sie über einen Benutzer mit der entsprechenden Berechtigung verfügen. Standardmäßig erzwingt Teleport die Verwendung der Zwei-Faktor-Authentifizierung, sodass wir einen Benutzer mit dem Benutzernamen admin-user erstellen, der die Zwei-Faktor-Authentifizierung unter Verwendung von Google Authenticator verwendet. Sie können auch andere Authentifizierungsmethoden verwenden, die in den Optionen verfügbar sind.
Führen Sie den Befehl wie unten gezeigt aus, um den Benutzer zu erstellen.
$ sudo tctl users add admin-user --roles=editor,access --logins=root,ubuntu,linuxways
Wie Sie sehen können, stellen wir diesem Benutzer die Rolle des Editors und Zugriff als Administrator zur Verfügung, und Benutzer wie root, ubuntu oder linuxways können sich bei den Servern in Teleport-Cluster-Servern anmelden.
Nachdem Sie den obigen Befehl ausgeführt haben, sehen Sie die Ausgabe wie im Screenshot unten mit dem Link zum Erstellen eines Passworts für den Benutzer.
Lassen Sie uns nun die Website durchsuchen und mithilfe der Zwei-Faktor-Authentifizierung ein Passwort für den Benutzer erstellen, wie im folgenden Screenshot gezeigt.
Nachdem Sie auf Konto erstellen geklickt haben, wird das Dashboard der Teleport-Web-Benutzeroberfläche angezeigt. Sie werden Ihren neu erstellten Benutzer mit der Liste der für den Benutzer privilegierten Knoten bemerken. Weitere Einzelheiten finden Sie auf dem unten gezeigten Screenshot.
Hinzufügen eines Knotens zum Cluster
Um einen neuen Knoten zum Teleport-Cluster hinzuzufügen, führen Sie den Befehl wie unten gezeigt aus.
Melden Sie sich zuerst beim Teleport an
$ tsh login --proxy=tele.example.com --auth=local --user=admin-user
Generieren Sie ein Token mit einem bestimmten Zeitlimit, hier begrenzen wir die Zeit auf 1 Stunde.
$ tctl tokens add --type=node --ttl=1h
Laden Sie nun das Teleport-Paket auf Ihren neuen Knoten herunter. In unserem Fall läuft unser neuer Knoten mit dem Ubuntu-Betriebssystem. Gehen Sie dazu wie unten gezeigt durch den Installationsprozess..
$ curl https://deb.releases.teleport.dev/teleport-pubkey.asc | sudo apt-key add -
$sudo add-apt-repository 'deb https://deb.releases.teleport.dev/ stable main'
$ sudo apt-get update
$ sudo apt install teleport
Führen Sie nun diesen Befehl auf dem neuen Knoten aus, indem Sie das mit dem obigen Befehl erstellte Token verwenden. Für weitere Details überprüfen Sie den Befehl wie unten gezeigt.
Der Hostname lautet wie in unserem Fall testserver damit wir es überprüfen können, indem wir die Website von Teleport WEB-UI durchsuchen und den Serverabschnitt überprüfen, wie im Bild unten gezeigt.
Auf den hinzugefügten Server zugreifen
Jetzt wurde der neue Knoten erfolgreich hinzugefügt, sodass er mit der WEB-Benutzeroberfläche oder dem Terminal leicht zugänglich ist, indem Sie einfach auf Verbinden klicken und mit der bevorzugten Benutzeroption in der Liste darauf zugreifen. Weitere Einzelheiten finden Sie auf dem unten gezeigten Screenshot.
In unserem Fall haben wir root als Benutzer ausgewählt, dann wird die nächste Registerkarte geöffnet, auf der auf den neuen Node-Server zugegriffen werden kann, wie im Screenshot unten gezeigt.
Wie Sie sehen können, führen wir die Befehle auf dem neuen Knoten „testserver“ einfach mit der WEB-Benutzeroberfläche von Teleport aus.
Schlussfolgerung
In diesem Artikel haben Sie gelernt, wie Sie den Teleport auf dem Ubuntu 20.04-Server installieren und den neuen Knoten hinzufügen. Das Ausführen der Befehle auf dem hinzugefügten Server über die WEB-Benutzeroberfläche von Teleport ist einfach. Vielen Dank!