Files
2026-05-22 15:17:39 +02:00

2.7 KiB

Skript zum herunterfahren einer entfernten Computers

Dieses Skript automatisiert das Herunterfahren eines Servers per SSH und sendet anschließend eine Benachrichtigung an einen NTFY-Server.

Für die Benachrichtigungen wird curl verwendet.
Das Herunterfahren erfolgt per ssh. Dafür muss zuvor ein SSH-Key zwischen den Systemen ausgetauscht werden.

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. NTFY Ein NTFY-Server für Benachrichtigungen

Installation

  1. Stellen Sie sicher, dass curl auf Ihrem System installiert sind:
sudo apt install curl
  1. 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).
  2. Setzen Sie die korrekten Dateiberechtigungen, um die Sicherheit zu gewährleisten:
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 .conf-Datei mit den folgenden Variablen:

# NTFY Server
NTFY_URL=https://ntfy.server.net/
AUTH_TOKEN=tk_ntfytoken

# 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

# Entfernter Computer
SSH_HOST=192.168.178.105
SSH_USER=admin
SSH_KEY=/config/.ssh/id_ed25519

Beschreibung der Variablen

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_KEY: Pfad zum privaten SSH-Key.

SSH-Key erstellen und austauschen

Für die passwortlose SSH-Anmeldung muss zunächst ein SSH-Key erzeugt und auf das Zielsystem kopiert werden.

1. SSH-Key erstellen

ssh-keygen -t ed25519

Dadurch werden folgende Dateien erzeugt:

~/.ssh/id_ed25519
~/.ssh/id_ed25519.pub

2. Public Key auf das Zielsystem kopieren

ssh-copy-id -i ~/.ssh/id_ed25519.pub USER@HOST

Beispiel:

ssh-copy-id -i ~/.ssh/id_ed25519.pub admin@192.168.178.105

Verwendung des Scripts

  • Führen Sie das Skript aus:
./shell_ntfy_remote_shutdown.sh