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

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
S
Description
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.
Readme
54 KiB
0 Stars 1 Watchers 0 Forks
Languages
Shell 100%