Files
shell_ntfy_remote_shutdown/README.md
2025-02-20 20:50:25 +01:00

74 lines
2.6 KiB
Markdown
Executable File

## Skript zum herunterfahren einer entfernten Computers
Dieses Skript automatisiert das herunterfahren eines Servers per SSH und sendet eine Benachrichtigung an einen NTFY Server. Es verwendet `curl` zum Senden von Benachrichtigungen und `sshpass` zum Ausführen von Remote-Befehlen.
### Funktionen
- Sendet eine Benachrichtigung an einen NTFY-Server mit benutzerdefinierten Details.
- Führt das Herunterfahren eines Servers über SSH durch.
- Lädt Konfigurationsvariablen aus einer externen .env-Datei.
### Voraussetzungen
`curl` Benötigt für das Senden von HTTP-Anfragen.
`sshpass` Benötigt für die nicht-interaktive SSH-Anmeldung.
`NTFY` Ein NTFY-Server für Benachrichtigungen
### Installation
1. Stellen Sie sicher, dass `curl` und `sshpass` auf Ihrem System installiert sind:
```bash
sudo apt install curl sshpass
```
2. Platzieren Sie das Skript und eine .env-Datei im gleichen Verzeichnis. Die .env-Datei muss denselben Namen wie das Skript haben, jedoch mit der Endung .env (z. B. shell_ntfy_remote_shutdown.sh und shell_ntfy_remote_shutdown.env).
3. Setzen Sie die korrekten Dateiberechtigungen, um die Sicherheit zu gewährleisten:
```bash
chmod 700 shell_ntfy_remote_shutdown.sh
chmod 600 shell_ntfy_remote_shutdown.env
chmod +x shell_ntfy_remote_shutdown.sh
```
### Konfiguration
Erstellen Sie eine `.env`-Datei mit den folgenden Variablen:
```bash
# NTFY Server
NTFY_URL=https://ntfy.server.net/
AUTH_TOKEN=tk_elwqvm6niscdn30f45iksdfh6sope
# Duplicati Server
DUPLICATI_URL=http://192.168.178.100:8200
SERVER_NAME=unRAID
# NTFY Icon (Optional / Leer lassen falls nicht benötigt)
ICON=http://192.168.178.25:3030/icons/qnap-ts-412.png
# SSH Zugangsdaten des entfernten System
SSH_HOST=192.168.178.105
SSH_USER=sshuser
SSH_PASSWORD=sshpass
```
### Beschreibung der Variablen
```bash
NTFY_URL: Die Basis-URL des NTFY-Servers.
AUTH_TOKEN: Authentifizierungstoken für den NTFY-Server.
DUPLICATI_URL: URL zum Öffnen des Duplicati-Backup-Dashboards.
SERVER_NAME: Anzeigename des Servers.
ICON: URL für das Benachrichtigungssymbol.
SSH_HOST: Hostname oder IP-Adresse des Servers.
SSH_USER: Benutzername für die SSH-Anmeldung.
SSH_PASSWORD: Passwort für die SSH-Anmeldung am Server.
```
### Verwendung
- Führen Sie das Skript aus:
```bash
./shell_ntfy_remote_shutdown.sh
```
- Stellen Sie sicher, dass alle Variablen in der `.env`-Datei korrekt gesetzt sind, um Laufzeitfehler zu vermeiden.
### Sicherheitshinweise
- Stellen Sie sicher, dass die `.env`-Datei restriktive Berechtigungen hat (`chmod 600`), um unbefugten Zugriff auf sensible Daten wie Passwörter und Tokens zu verhindern.
- Vermeiden Sie es, sensible Informationen direkt im Skript zu hinterlegen.