Monat: März 2022

Teamspeak 3 Musikbot

Ein Bot kann für einen Teamspeak Server sehr hilfreich und nützlich sein. Natürlich kann man damit Musik oder Radios abspielen, aber auch Skripte wie beispielsweise ein Ticketsystem ist hilfreich. Den Bot manuell zu installieren war keine Kunst, es gibt aber mittlerweile ein Autoinstaller von Philipp Eßwein unter dem Link.

Kopiert den Link des Skriptes und führt dieses auf eurem Server aus.

„What should the installer do“ – (1) Install
Startscript directory – (1) Automatic
Teamspeak/Discord Mode – (1) Both
Terms of use – (2) Yes
Install Youtube downloader – (1) Yes
Update system packages – (1) Yes

Anschließend müssen noch den Teamspeak Lizenzbestimmungen zugestimmt werden, dafür einfach die Anweisungen im Installer beachten. Anschließend ist euer Bot auf domain.tld:8087 oder ip:8087 verfügbar. Das Passwort wird am Ende der Installation ausgegeben, bitte nach dem ersten Einloggen verändern

Teamspeak 3 Installation

1. Pakete und Repositorys aktualisieren

apt update && apt upgrade

2. Benutzer für den Teamspeak 3 Server erstellen. Es ist empfohlen, den Server nicht mit root-Rechten zu starten.

adduser --disabled-login teamspeak

3. Zum eben erstellten Teamspeak-Benutzer wechseln

su teamspeak
cd

4. Die Teamspeak Server Dateien der aktuellen Version herunterladen. Es kann vorkommen, dass bereits eine neuere Version verfügbar ist.

wget https://files.teamspeak-services.com/releases/server/3.13.6/teamspeak3-server_linux_amd64-3.13.6.tar.bz2

5. Anschließend die heruntergeladenen Daten entpacken.

ls
tar xfvj teamspeak3-server_linux_amd64-3.13.6.tar.bz2

Für eine genauere Erklärung des zweiten Befehls verweise ich auf einen weiteren Artikel von mir.

6. Die Datei wurde nun entpackt. Die nicht benötigte Datei kann gelöscht werden und anschließend in das Zielverzeichnis navigiert werden.

rm teamspeak3-server_linux_amd64-3.13.6.tar.bz2
cd teamspeak3-server_linux_amd64

7. Um den Server starten zu können, müssen den Lizenzbestimmungen von Teamspeak zugestimmt werden.

touch .ts3server_license_accepted

8. Der Teamspeak-Server ist nun startklar.

./ts3server_startscript.sh start

Beim erstmaligen Start erscheint der einmalige Token und die Query-Daten, welche in jedem Fall notiert werden sollten! Mittels den Query-Daten könnt ihr euch beispielsweise über YaTQA einloggen und den Voiceserver verwalten.


Troubleshooting

1. Server Query Admin Passwort zurücksetzen

./ts3server_startscript.sh start serveradmin_password=DEINPASSWORT

2. Server startet nicht? Überprüfe, ob der Server bereits läuft und ob die Lizenzbestimmungen akzeptiert worden sind.

SSH absichern

Die Anleitung zeigt, wie man seinen Server mithilfe von Keys absichert. Additional können auch noch weitere Sicherheitseinstellungen vorgenommen werden, dazu aber später. Ich empfehle euch auf der offiziellen Seite von PuTTY den Installer herunterzuladen, ansonsten benötigt ihr PuTTY und PuTTYgen um eure Keys zu erstellen. Befolgt die Anleitung bitte genau, sonst kann es dazu führen, dass ihr aus dem System ausgesperrt werdet.

PuTTY herunterladen

1. Als Erstes öffnen wir PuTTYgen, um unser Schlüsselpaar zu erzeugen. Das Schlüsselpaar besteht aus einem privaten und öffentlichen Schlüssel. Bitte überprüft, dass das rot markierte Feld mit eurem übereinstimmt.

2. Als Nächstes drückt ihr zunächst auf „Generate“ und bewegt eure Maus in dem oberen Feld.

3.1 Wenn der Schlüssel generiert ist, habt ihr im Feld euren „public key“, dieser wird in den nächsten Schritten auf dem Server gespeichert wird.

3.2 Im zweiten Feld habt ihr nun drei Felder, die ihr verändert. Der „Key Fingerprint“ ist salopp gesagt nur ein Name für eueren Schlüssel. Der Name wird während des Login Vorgangs angezeigt. Zu Demonstrationszwecken tippe ich ‚linuxpirat.de-sshkey‘ ein.

3.3 Die anderen beiden Eingabefelder (key passphrase & confirm passphrase“) dienen der Authentifizierung, hier gebt ihr ein Passwort eurer Wahl ein.

3.4 Im dritten Feld könnt ihr euch nun euren privaten Schlüssel abspeichern. Klickt auf den im Bild gelb unterlegten Button und speichert ihn ab. Ich empfehle, den Schlüssel separat auf einen USB-Stick zu speichern.

Wenn der Schlüssel abgespeichert ist, sollte es wie folgt aussehen:

4. Loggt euch in euren Server als root Benutzer ein. Erstellt das Verzeichnis für euren public Key.

mkdir ~/.ssh
chmod 700 ~/.ssh

5. Erstellt nun mit vi oder dem Editor nano eine Datei in dem neu erstellen Verzeichnis.

nano ~/.ssh/authorized_keys

6. Jetzt kopiert ihr euren public key in die Datei.

7. Schließt die Datei mit STRG + X und bestätigt die Speicherung mit „y“ und Enter.

8. Die Datei darf nur von dem Benutzer beschreibbar oder lesbar sein, deshalb führen wir folgenden Befehl aus:

chmod 600 ~/.ssh/authorized_keys

9. Bevor wir uns selbst ausschließen, testen wir, ob wir uns mit dem Key anmelden können. Öffnet PuTTY ein zweites Mal.

10. Gebt wie gewohnt eure IP-Adresse des Servers ein und klickt in der linken Spalte auf SSH, bis der Menüpunkt „Auth“ zu sehen ist. Wählt hier euren abgespeicherten Key aus, in meinem Fall „server-key“.

11. Navigiert zurück in das Hauptmenü. Im dritten Feld habt ihr nun die Möglichkeit, einen beliebigen Namen für euren Server einzutippen. Speichert im Anschluss die Einstellung ab

12. Der Server scheint den Schlüssel zu akzeptieren. Es erscheint euer „Name“ für den Schlüssel.

13. Ihr müsst nun euer Passwort/Passphrase eingeben, was zuvor im PuTTYgen festgelegt worden ist. Wenn ihr bis hier hin die Anleitung richtig ausgeführt habt, solltet ihr euch einloggen können.

14. Abschließend müssen wir den Server auf unseren Schlüssel anpassen. Schließlich soll sich keine Person ohne den Key einloggen können. Öffnet die ssh Konfigurationsdatei mit:

nano /etc/ssh/sshd_config

15. In der Datei müsst ihr folgende Werte verändern:

PasswordAuthentication no
UsePAM no
Protocol 2

PasswordAuthentication von ‚yes‘ auf ’no‘
UsePAM von ‚yes‘ auf ’no‘
Unter UsePAM schreibt ihr „Protocol 2“

16. Additional könnt ihr euren Port auf eine beliebige Zahl ändern. Als Beispiel nehme ich 2000. Dies erhöht die Sicherheit zusätzlich.

17. Schließt die Datei mit STRG + X und bestätigt die Speicherung mit „y“ und Enter.

18. Um die Änderung wirksam zu machen, müsst ihr euren ssh Dienst neustarten:

/etc/init.d/ssh restart

Fertig! Euer Server ist weitestgehend von ungewolltem Zugriff geschützt. Ich erinnere euch erneut, speichert eure private Schlüsseldatei extern ein zweites Mal ab.


Troubleshooting

  • Stellt sicher, dass ihr in PuTTY eure Schlüsseldatei ausgewählt habt. Wenn der Port geändert wurde, muss dieser auch in PuTTY bei den Verbindungseinstellungen geändert werden!
  • Wenn euch nun der SFTP Zugriff verweigert wird, stellt sicher, dass auch hier der Schlüssel angegeben wurde.

Was macht der Befehl?

Als ich ein unerfahrener Nutzer war, und lange hieroglyphische Befehle mit einer endlosen Kette an Parametern in der Suchmaschine gefunden habe, wusste ich im Grunde nie, was die angehängten Parameter bewirken.

Als Beispiel greife ich den Befehl aus einer meiner Beiträge auf

lsof -i -P -n

Was macht der Befehl und was bedeuten die angehängten Parameter dort?

Relativ spät habe ich eine sehr nützliche Seite gefunden, die mir heute noch hilft, unbekannte Befehle schneller zu verstehen.

explainshell.com

Auf dieser Seite könnt ihr eure Befehle eingeben, und erhaltet eine Auflistung mit der genauen Funktionsweise.

Hilfreiche Befehle

Hin und wieder benötigt man Befehle, die man sich als Anfänger schlichtweg nicht merken kann. Deshalb gibt es eine grobe Übersicht von Befehlen, die ich im Alltag nützlich finde.

Verfügbare Festplatten und deren Größe:

df -h

Aktuellen Traffic anzeigen


Der farbige Bandbreitenmesser (Color Bandwidth Meter) zeigt den aktuellen Netzwerkverkehr von allen Netzwerkgeräten auf einer einfachen Oberfläche an. Das Paket muss zuerst auf eurem Betriebssystem installiert werden:

apt install -y cbm

Anschließend kann die Oberfläche geöffnet werden

cbm

Laufende Prozesse & belegte Systemressourcen einsehen


Hierbei gibt es zwei ziemlich bekannte Wege, top und htop. Letzteres ist nur mit einer Installation möglich.

top

Und htop

apt install -y htop
htop

Beide Übersichten können mit der Taste ‚q‘ geschlossen werden.

Verwendete Ports auflisten

Gerade zu Beginn, während man seinen Server konfiguriert und mehrere Programme installiert, kann es vorkommen, dass man plötzlich eine Fehlermeldung wegen eines bereits verwendeten Port erhält. Um herauszufinden, welches Programm welchen Port beansprucht, kann man folgenden Befehl nutzen:

lsof -i -P -n | grep LISTEN

Systeminformationen auslesen

Um eine gut übersichtliche und ausreichende Übersicht über mein System zu erhalten nutze ich das Paket inxi.

apt install -y inxi
inxi -Fx