Teleport je open source, snadno instalovatelný systém certifikační autority. V případě, že máte různé servery, které jsou přístupné přes SSH, různé databáze Kubernetes a webové aplikace. Teleport se tedy používá k tomu, aby je všechny umístil na jednu platformu jako přístupovou rovinu ke všem těmto infrastrukturám. Má také funkci sdílení a nahrávání interaktivních relací ve všech prostředích. Také to běží jako služba systemd.
Zde na LinuxAPT se podíváme na to, jak nainstalovat teleport na server Ubuntu 20.04.
Postup instalace teleportu v systému Ubuntu Linux
Všimněte si, že v operačních systémech Linux a Mac se používá teleport základní služby teleport a nástroj pro správu tctl, protože jsou navrženy pro práci na takových operačních systémech. Pro Linux, Mac a další operační systémy jsou také dostupné teleportační uživatelské klienty tsh a UI.
Předpoklady, které je třeba splnit před pokračováním v instalaci, zahrnují:
- Počítač se systémem Linux s otevřeným portem 443.
- Aplikace pro dvoufaktorové ověřování, jako je Authy, Google Authenticator nebo Microsoft Authenticator.
- Klient SSH jako OpenSSH.
- Přístup ke službě DNS, jako je Amazon Route 53 nebo CoreDNS.
Pokud chcete 32bitové binární soubory nebo binární soubory ARM, podívejte se na stránku s nejnovějším vydáním na tomto odkazu https://goteleport.com/teleport/download/ . Chcete-li však nainstalovat 64bitovou verzi teleportovacích binárních souborů, spusťte níže uvedený příkaz.
Chcete-li nainstalovat veřejný klíč teleportu, spusťte příkaz:
$ curl https://deb.releases.teleport.dev/teleport-pubkey.asc | sudo apt-key add -
Chcete-li přidat repo do APT, spusťte příkaz:
$ sudo add-apt-repository 'deb https://deb.releases.teleport.dev/ stable main'
Chcete-li aktualizovat mezipaměť APT, spusťte příkaz:
$ sudo apt-get update
Nakonec pro instalaci Teleportu spusťte příkaz:
$ sudo apt install teleport
Jak nakonfigurovat teleport?
Chcete-li nakonfigurovat teleport, jednoduše spusťte konfiguraci a uložte ji ve formátu yaml. Pro další podrobnosti zkontrolujte konfiguraci pomocí vašeho oblíbeného editoru:
$ sudo vim /etc/teleport.yaml
teleport:nodename: linuxapt
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
Aby konfigurace fungovala správně, musí mít adresář /var/lib/teleport správná oprávnění, která umožní teleportu a tctl bez problémů číst a zapisovat. Pro tento účel spusťte níže uvedený příkaz:
$ sudo chmod 755 -R /var/lib/teleport/
Jak nakonfigurovat systém doménových jmen?
Musíte poskytnout certifikát pro zabezpečený protokol https. Je to možné s certifikátem, který již máte, nebo vytvořením certifikátu vlastního podpisu nebo přidáním DNS jako tele.example.com směřujícím na vaši veřejnou IP a spouštění příkazů s použitím protokolu ACME, které vyžadují, aby byly certifikáty TLS automaticky dostupné z Pojďme šifrovat. Přistupuje ke koncovému bodu HTTP na vašem hostiteli Teleport za účelem dokončení ověřovacích úkolů:
$ sudo teleport configure --acme [email protected] --cluster-name=tele.example.com -o file
Nebo vytvořte certifikát vlastního podpisu:
$ sudo openssl req -x509 -days 365 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/private/teleport.key -out /etc/pki/tls/certs/teleport.crt
Po vytvoření certifikátu přidejte tyto certifikáty do konfigurace teleportu:
$ sudo vim /etc/teleport.yaml
teleport:
nodename: linuxapt
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
Jak nakonfigurovat službu Teleport a spustit službu?
Zde vytvoříme službu systemd pro službu teleport pomocí příkazů:
$ 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
Nyní spusťte níže uvedené příkazy, abyste znovu načetli démona, povolili a spustili službu:
$ sudo systemctl daemon-reload
$ sudo systemctl start teleport
$ sudo systemctl enable teleport
Chcete-li zkontrolovat stav služby teleport, spusťte příkaz:
$ sudo systemctl status teleport.service
Jak vytvořit uživatele teleportu s nastavením dvoufaktorové autentizace?
Chcete-li se přihlásit, musíte mít uživatele se správnými oprávněními. Ve výchozím nastavení teleport vynucuje použití dvoufaktorové autentizace, takže vytváříme uživatele s uživatelským jménem admin-user pomocí dvoufaktorové autentizace s použitím google authenticator. Můžete použít i jiné způsoby ověření dostupné v možnostech.
Spuštěním příkazu, jak je uvedeno níže, vytvořte uživatele:
$ sudo tctl users add admin-user --roles=editor,access --logins=root,ubuntu,linuxapt
Jak můžete vidět, tomuto uživateli poskytujeme role editora a přístup jako administrátorské oprávnění a uživatelé jako root, ubuntu nebo linuxapt se mohou přihlásit k serverům v teleportových clusterových serverech.
Po spuštění výše uvedeného příkazu uvidíte odkaz pro vytvoření hesla pro uživatele.
Nyní si projděte web a vytvořte heslo pro uživatele pomocí dvoufaktorové autentizace.
Po kliknutí na vytvořit účet se zobrazí řídicí panel webového uživatelského rozhraní teleportu. Všimnete si svého nově vytvořeného uživatele se seznamem uzlů s privilegiem uživatele.
Jak přidat uzel do clusteru?
Chcete-li přidat nový uzel do skupiny teleportů,
První přihlášení do teleportu:
$ tsh login --proxy=tele.example.com --auth=local --user=admin-user
Vygenerujte token se zadaným časovým limitem, zde omezujeme čas na 1 hodinu:
$ tctl tokens add --type=node --ttl=1h
Nyní si stáhněte balíček teleportu do svého nového uzlu. V našem případě náš nový uzel běží s operačním systémem Ubuntu. Za tímto účelem projděte procesem instalace:
$ 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
Nyní spusťte tento příkaz na novém uzlu pomocí tokenu vytvořeného pomocí výše uvedeného příkazu:
$ teleport start \
Stejně jako v našem případě je název hostitele testovací server, takže jej můžeme ověřit procházením webu Teleport WEB-UI a kontrolou v sekci servery.
Jak získat přístup k přidanému serveru?
Nyní byl nový uzel úspěšně přidán, takže je snadno přístupný pomocí webového uživatelského rozhraní nebo terminálu pouhým kliknutím na připojit a přistupovat k němu pomocí preferované uživatelské možnosti v seznamu.
V našem případě jsme jako uživatele vybrali root a poté se otevře další karta, kde lze přistupovat k novému uzlu serveru.