added wh20 quick ssh connect script

This commit is contained in:
2025-12-30 13:30:51 +01:00
parent 6116e9283e
commit 75d5680364
4 changed files with 159 additions and 0 deletions
+2
View File
@@ -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
---
+3
View File
@@ -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)
+107
View File
@@ -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 <webserver> [--tenant adino|dona]
```
### Parameter
- `<webserver>`: Name des Webservers (z.B. `web15`, `srv272`, `ws12`)
- `--tenant`: Optional. Bestimmt die Domain-Endung:
- `adino` → `<webserver>.adino.at`
- `dona` → `<webserver>.inname.net`
- Ohne Angabe → `<webserver>.wh20.easyname.systems`
## Domain-Mapping
| Tenant | Domain-Pattern |
|--------|----------------|
| (kein) | `<webserver>.wh20.easyname.systems` |
| `adino` | `<webserver>.adino.at` |
| `dona` | `<webserver>.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: <tenant>
```
**Lösung**: Nur `adino` oder `dona` als Tenant-Wert verwenden
### Webserver-Name fehlt
```
Usage: wh20 <webserver> [--tenant adino|dona]
```
**Lösung**: Webserver-Namen als erstes Argument angeben
---
*Maintainer: ado*
+47
View File
@@ -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 <webserver> [--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 "$@"