From 75d5680364a3781a21cd989ed4d2df07824b3419 Mon Sep 17 00:00:00 2001 From: loki Date: Tue, 30 Dec 2025 13:30:51 +0100 Subject: [PATCH] added wh20 quick ssh connect script --- README.md | 2 + wh20/README.md | 3 ++ wh20/wh20/README.md | 107 ++++++++++++++++++++++++++++++++++++++++++++ wh20/wh20/wh20.sh | 47 +++++++++++++++++++ 4 files changed, 159 insertions(+) create mode 100644 wh20/wh20/README.md create mode 100644 wh20/wh20/wh20.sh diff --git a/README.md b/README.md index 4e49c80..e4ed035 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,8 @@ Optimierte Bash-Konfigurationen für verschiedene Support-Umgebungen: - [`plesk`](./wh20/plesk) Dieses Skript stellt eine SSH-Verbindung zu einem angegebenen Webserver her und generiert so einen einmaligen Login-Link für das Plesk Admin Panel des gewünschten Servers. +- [`wh20`](./wh20) + Dieses Skript verbindet zum angegbenen Webserver via SSH --- diff --git a/wh20/README.md b/wh20/README.md index c7f754e..242d6e9 100644 --- a/wh20/README.md +++ b/wh20/README.md @@ -21,6 +21,9 @@ Die Dokumentationen werden in Unterordnern zu den jeweiligen Skripten gepflegt. ### [`plesk`](./plesk) Dieses Skript stellt eine SSH-Verbindung zu einem angegebenen Webserver her und generiert so einen einmaligen Login-Link für das Plesk Admin Panel des gewünschten Servers. +### [`wh20`](./wh20) +Dieses Skript verbindet zum angegbenen Webserver via SSH + - [Dokumentation & Beispiele](./plesk/README.md) diff --git a/wh20/wh20/README.md b/wh20/wh20/README.md new file mode 100644 index 0000000..20072fe --- /dev/null +++ b/wh20/wh20/README.md @@ -0,0 +1,107 @@ +# wh20 - SSH-Shortcuts für easyname WH20 Webserver + +## Funktion + +Dieses Skript stellt eine SSH-Verbindung zu einem angegebenen WH20 Webserver her. Optional kann über den Parameter `--tenant` die Domain angepasst werden, um auf Server in verschiedenen Tenant-Umgebungen zuzugreifen. + +## Voraussetzungen + +- SSH-Zugriff auf den Zielserver +- Der Benutzername muss als Umgebungsvariable `WHUSER` gesetzt sein +- Das Skript muss ausführbar sein (`chmod +x wh20.sh`) + +## Installation + +1. **WHUSER Variable setzen** (in `~/.bashrc` oder `~/.bash_env`): + ```bash + export WHUSER="deinusername" + ``` + +2. **Installation über Installer**: + ```bash + # Im Repository-Hauptverzeichnis + ./install.sh + ``` + +## Verwendung + +### Standard-Verbindung (easyname.systems) +```bash +wh20 web15 +``` +→ Verbindet zu `web15.wh20.easyname.systems` + +### Mit Tenant adino +```bash +wh20 web15 --tenant adino +``` +→ Verbindet zu `web15.adino.at` + +### Mit Tenant dona +```bash +wh20 web15 --tenant dona +``` +→ Verbindet zu `web15.inname.net` + +## Syntax + +```bash +wh20 [--tenant adino|dona] +``` + +### Parameter + +- ``: Name des Webservers (z.B. `web15`, `srv272`, `ws12`) +- `--tenant`: Optional. Bestimmt die Domain-Endung: + - `adino` → `.adino.at` + - `dona` → `.inname.net` + - Ohne Angabe → `.wh20.easyname.systems` + +## Domain-Mapping + +| Tenant | Domain-Pattern | +|--------|----------------| +| (kein) | `.wh20.easyname.systems` | +| `adino` | `.adino.at` | +| `dona` | `.inname.net` | + +## Beispiele + +```bash +# Standard WH20 Server +wh20 web15 +wh20 srv272 + +# Adino Tenant +wh20 web15 --tenant adino +wh20 ws12 --tenant adino + +# Dona Tenant +wh20 web15 --tenant dona +wh20 srv272 --tenant dona +``` + +## Troubleshooting + +### WHUSER nicht gesetzt +``` +Fehler: Bitte WHUSER setzen! +``` +**Lösung**: `export WHUSER="deinusername"` in ~/.bashrc hinzufügen + +### Unbekannter Tenant +``` +Unbekannter Tenant: +``` +**Lösung**: Nur `adino` oder `dona` als Tenant-Wert verwenden + +### Webserver-Name fehlt +``` +Usage: wh20 [--tenant adino|dona] +``` +**Lösung**: Webserver-Namen als erstes Argument angeben + +--- + +*Maintainer: ado* + diff --git a/wh20/wh20/wh20.sh b/wh20/wh20/wh20.sh new file mode 100644 index 0000000..6f16fed --- /dev/null +++ b/wh20/wh20/wh20.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +# wh20 - SSH-Shortcuts für easyname WH20 Webserver +# Maintainer: ado + +servername="" +tenant="" + +while [[ $# -gt 0 ]]; do + case "$1" in + --tenant) + tenant="$2" + shift 2 + ;; + *) + servername="$1" + shift + ;; + esac +done + +if [ -z "$servername" ]; then + echo "Usage: $0 [--tenant adino|dona]" + exit 1 +fi + +# Set domain based on tenant +case "$tenant" in + adino) + fqdn="$servername.adino.at" + ;; + dona) + fqdn="$servername.inname.net" + ;; + "") + fqdn="$servername.wh20.easyname.systems" + ;; + *) + echo "Unbekannter Tenant: $tenant" + exit 1 + ;; +esac + +# Define the username +username="${WHUSER:?Bitte WHUSER setzen!}" # Wenn WHUSER als Umgebungsvariable gesetzt ist, wird dieser verwendet. Sonst Username eintragen. + +# Open an SSH connection +exec ssh $username@$fqdn "$@"