Wie man Teleport Community Version updatet

Leider hat die Dokumentation von Teleport derzeit noch ein paar Lücken über die Einsteiger am Anfang stolpern. Insbesondere beim update der Community Version gibt es Stolperfallen.

Lücken in der aktuellen Dokumentation

Wer die aktuelle Dokumentation zur Version 16 aufruft, wird feststellen das man zum Updaten des Servers und der Agent keine Informationen findet.

Wechseln wir jedoch in der Dokumentation zu Version 14, sehen wir die upgrading guides für self-hosted Linux Server.

Grundsätzlich können wir auch für Version 15 und 16 die Dokumentation für die Version 14 nutzen. Jedoch muss man wissen, das sich die Dokumentation immer auf die Enterprise Version bezieht.

Befehle wie z.B. "sudo apt-get install teleport-ent-updater" installieren die Enterprise Version des Agents, was dann natürlich zu einem Fehler führt, wenn die Community Version bereits installiert ist. Zu erkennen an dem "ent".

Die Community Version läst sich hingegen mit "sudo apt-get -y install teleport" updaten.

Was man vor dem Update einplanen muss

Der Server kann sich mit den Agents laut Dokumentation immer nur in der gleichen Version oder eine Version niedriger verbinden. Agents die eine Version höher als der Server sind, können sich nicht mehr verbinden.

Server Version Agent Version Verbindung
15 15 OK
15 14 OK
15 16 X

Es ist möglich, die Agents direkt von z.B. Version 13 auf Version 16 upzudaten. Anschließend muss man den Server auf Version 16 updaten, damit man wieder auf alle Clients zugreifen kann.

Auch der Server konnte in meinem Test direkt von Version 13 auf Version 16 geupdatet werden.

Was ist mit den automatischen Agents updates?

Diese Funktion steht nur in der Enterprise Version zur Verfügung und ist in der Community Version nicht enthalten. Daher müssen Benutzer der Community Version ihre Agents manuell updaten.

Entgegen der Dokumentation in Step 2/5 wird laut einer Github Diskussion kein Amazon S3 oder Google Cloud Storage für das Terraform benötigt. Da ich aber nur die Community Version getestet habe, kann ich dazu keine Anleitung erstellen.

Wie kann ich den Teleport Server updaten?

Hier habe ich mich der Dokumentation in der Version 14 bedient. Welche Version gerade die aktuelle ist, kann man in den Github Releases nachsehen: https://github.com/gravitational/teleport/releases

Zunächst prüfe ich die tctl und tsh Version, damit ich den IST-Zustand kenne:

tctl version
tsh version

In den Github Releases suche ich mir nun die nächst höhere Version. Habe ich aktuell die Version 14 im Einsatz, wäre ein update auf Version 15.4.5 möglich.

Das Update kann ich mit folgendem Script starten:

curl https://goteleport.com/static/install.sh | bash -s 15.4.5

Anschließend prüfe ich ob die korrekte Version installiert wurde:

teleport version

und aktiviere den Teleport Dienst und starte ihn anschließend neu:

sudo systemctl enable teleport
sudo systemctl start teleport

Wie kann ich die Teleport Agents updaten?

Auch hier bediene ich mich der Dokumentation der Version 14. Jedoch ist es Step 5/5 von der self-hosted automatic agent udpates Dokumentation!

Dazu verbinde ich mich per SSH oder Teleport auf die Clients und starte mit dem download des Teleport Public PGP Keys:

sudo curl https://apt.releases.teleport.dev/gpg \
-o /usr/share/keyrings/teleport-archive-keyring.asc

Source Variable OS

source /etc/os-release

Teleport APT repository hinzufügen, hier muss die gewünschte Agent Version bei stable/v15 angegeben werden.

echo "deb [signed-by=/usr/share/keyrings/teleport-archive-keyring.asc] \
https://apt.releases.teleport.dev/${ID?} ${VERSION_CODENAME?} stable/v15" \
| sudo tee /etc/apt/sources.list.d/teleport.list > /dev/null

Apt updaten:

apt-get update

Und anschließend den Teleport Community Version Agent installieren:

apt-get -y install teleport

Die Version des Agents können wir wieder mittels "tctl version" prüfen.



Leave a comment

Available formatting commands

Use Markdown commands or their HTML equivalents to add simple formatting to your comment:

Text markup
*italic*, **bold**, ~~strikethrough~~, `code` and <mark>marked text</mark>.
Lists
- Unordered item 1
- Unordered list item 2
1. Ordered list item 1
2. Ordered list item 2
Quotations
> Quoted text
Code blocks
```
// A simple code block
```
```php
// Some PHP code
phpinfo();
```
Links
[Link text](https://example.com)
Full URLs are automatically converted into links.
© TECH-SUPPORT.KOELN