From 9d2cc4dd33fd772361f0128e5332b8d6652d7bf1 Mon Sep 17 00:00:00 2001 From: h0tznpl0tz Date: Wed, 10 Sep 2025 12:28:09 +0200 Subject: [PATCH] =?UTF-8?q?Connect-Tools=20Kategorie=20und=20Dokumentation?= =?UTF-8?q?=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Neue Connect-Kategorie für SSH-Verbindungstools - go.sh SSH-Shortcut Tool vollständig dokumentiert - Umfassende .gitignore mit rekursiven Mustern - README-Updates für bessere Navigation Die Connect-Tools vereinfachen SSH-Verbindungen zu easyname-Servern mit Kerberos-Auth und unterstützen Web-, MX-, Logger- und Support-Server. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .gitignore | 71 ++++++++++++++++++++ README.md | 20 +++++- connect/README.md | 93 +++++++++++++++++++++++++++ connect/go/README.md | 150 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 331 insertions(+), 3 deletions(-) create mode 100644 .gitignore create mode 100644 connect/README.md create mode 100644 connect/go/README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6f249aa --- /dev/null +++ b/.gitignore @@ -0,0 +1,71 @@ +# Bash-spezifische temporäre Dateien (recursive) +**/*.tmp +**/*.swp +**/*.swo +**/*~ + +# Logs (recursive) +**/*.log +**/*.log.* + +# Backup-Dateien (recursive) +**/*.bak +**/*.backup +**/*.orig + +# OS-spezifische Dateien (recursive) +**/.DS_Store +**/.DS_Store? +**/._* +**/.Spotlight-V100 +**/.Trashes +**/ehthumbs.db +**/Thumbs.db + +# Editor-spezifische Dateien (recursive) +**/.vscode/ +**/.idea/ +**/*.sublime-* + +# Konfigurationsdateien mit sensiblen Daten (recursive) +**/config/ +**/.config/ +**/*.conf +**/*.config + +# SSH Keys und Credentials (recursive) +**/id_rsa* +**/id_ed25519* +**/*.pem +**/*.key +**/*_key + +# Temporary directories (recursive) +**/tmp/ +**/temp/ +**/cache/ + +# User-spezifische Dateien +userprofiles/*/ +!userprofiles/pl/ + +# Checkms Konfigurationen (können sensible Daten enthalten) +**/checkms.conf + +# Test-Ausgaben (recursive) +**/test_output/ +**/test_results/ + +# Runtime-Dateien +**/*.pid +**/*.sock + +# Compressed files (meist temporär) +**/*.tar.gz +**/*.zip +**/*.7z +**/archive.* + +# Claude Code spezifische Dateien +CLAUDE.md +.claude/ \ No newline at end of file diff --git a/README.md b/README.md index 8bbfd4c..5d5a47e 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ Hier sammeln wir kleine Helfer für Log-Analysen, Automatisierungen und typische ## Inhaltsverzeichnis - [Übersicht](#übersicht) +- [Connect Tools](#connect-tools) - [Legacy Snippets](#legacy-snippets) - [WH20 Snippets](#wh20-snippets) - [How-To: Neues Skript anlegen](#how-to-neues-skript-anlegen) @@ -17,13 +18,24 @@ Hier sammeln wir kleine Helfer für Log-Analysen, Automatisierungen und typische ## Übersicht -Die Skripte sind nach Plattform getrennt: +Die Skripte sind nach Kategorie getrennt: +- [**Connect**](./connect/README.md) – SSH-Verbindungstools und Shortcuts - [**Legacy**](./legacy/README.md) – Snippets für Legacy-Umgebungen - [**WH20**](./wh20/README.md) – Snippets für WH20-Umgebungen --- +## Connect Tools + +Verbindungstools für schnellen Zugriff auf easyname-Server: + +- [`go`](./connect/go) + → [Dokumentation & Beispiele](./connect/go/README.md) + SSH-Shortcuts mit Kerberos-Auth für Web-, MX-, Logger- und Support-Server + +--- + ## Legacy Snippets Aktuell enthalten: @@ -48,8 +60,9 @@ Weitere Snippets für Legacy kommen hier dazu. Um ein neues Bash-Skript in dieses Repository aufzunehmen, bitte folgende Schritte: 1. **Ordnerstruktur anlegen** - Je nach Umgebung (`legacy` oder `wh20`) einen Unterordner erstellen: + Je nach Kategorie (`connect`, `legacy` oder `wh20`) einen Unterordner erstellen: ``` + connect// legacy// wh20// ``` @@ -82,7 +95,8 @@ Um ein neues Bash-Skript in dieses Repository aufzunehmen, bitte folgende Schrit ``` 4. **Übersicht aktualisieren** - Das Skript in die Übersicht der passenden Plattform-README eintragen: + Das Skript in die Übersicht der passenden Kategorie-README eintragen: + - [`connect/README.md`](./connect/README.md) - [`legacy/README.md`](./legacy/README.md) - [`wh20/README.md`](./wh20/README.md) diff --git a/connect/README.md b/connect/README.md new file mode 100644 index 0000000..a0bb549 --- /dev/null +++ b/connect/README.md @@ -0,0 +1,93 @@ +# Connect Tools + +SSH-Verbindungstools und Shortcuts für den schnellen Zugriff auf easyname-Infrastruktur. + +--- + +## Inhaltsverzeichnis + +- [Übersicht](#übersicht) +- [Enthaltene Tools](#enthaltene-tools) +- [Voraussetzungen](#voraussetzungen) +- [Lizenz / Sichtbarkeit](#lizenz--sichtbarkeit) + +--- + +## Übersicht + +Die Connect-Tools vereinfachen den Zugriff auf verschiedene easyname-Server durch intelligente SSH-Shortcuts mit Kerberos-Authentifizierung. Sie reduzieren wiederkehrende Eingaben und ermöglichen schnelle Verbindungen zu Web-, Mail-, Logger- und Support-Servern. + +--- + +## Enthaltene Tools + +### [`go`](./go) +SSH-Shortcut-Tool für schnelle Verbindungen zu easyname-Servern. + +- [Dokumentation & Beispiele](./go/README.md) + +**Features:** +- Kerberos-Authentifizierung (`go kinit`) +- Web-Server Zugriff mit optionalem easyuser-Wechsel (`go web 42 e110604`) +- Mail-Server Zugriff (`go mx 12`) +- Logger-Server Zugriff (`go logger`) +- Support-Server Zugriff (`go support`) +- Remote-Command Ausführung mit `--` Separator +- Unterstützung für Here-Documents und Piping + +**Quick Examples:** +```bash +# Kerberos-Auth +go kinit + +# Web-Server mit easyuser +go web 42 e110604 + +# Remote-Command auf MX-Server +go mx 12 -- mailq | head -5 + +# Logs auf Logger durchsuchen +go logger -- grep "error" /var/log/syslog +``` + +--- + +## Voraussetzungen + +### Generelle Anforderungen +- **Kerberos-Setup**: Funktionierende Kerberos-Konfiguration +- **SSH-Zugriff**: Berechtigungen für easyname-Infrastruktur +- **LUSER Variable**: Muss in Environment gesetzt sein + +### Setup-Anleitung +1. LUSER in `~/.bashrc` oder `~/.bash_env` setzen: + ```bash + export LUSER="deinusername" + ``` + +2. Kerberos-Ticket erstellen: + ```bash + kinit deinusername@NESSUS.AT + # oder mit go-Tool: + go kinit + ``` + +3. Tool in PATH hinzufügen oder Alias erstellen: + ```bash + # Option 1: Alias + alias go="/pfad/zu/connect/go/go.sh" + + # Option 2: Symlink + ln -s /pfad/zu/connect/go/go.sh ~/bin/go + ``` + +--- + +## Lizenz / Sichtbarkeit + +> Dieses Repository ist **intern** für easyname Support. +> Falls eine Freigabe nach extern geplant ist, bitte vorab mit Teamleitung abklären. + +--- + +*Diese Tools wurden mit Hilfe von Claude Code erstellt.* \ No newline at end of file diff --git a/connect/go/README.md b/connect/go/README.md new file mode 100644 index 0000000..33b8f7c --- /dev/null +++ b/connect/go/README.md @@ -0,0 +1,150 @@ +# go - SSH-Shortcuts für easyname Server + +Bash-Skript für schnelle SSH-Verbindungen zu easyname-Servern mit Kerberos-Authentifizierung. + +## Voraussetzungen + +- **LUSER** Umgebungsvariable muss gesetzt sein (dein Kerberos-Username) +- Kerberos-Authentifizierung konfiguriert +- SSH-Zugriff auf easyname-Infrastruktur + +## Installation + +1. **LUSER Variable setzen** (in `~/.bashrc` oder `~/.bash_env`): + ```bash + export LUSER="deinusername" + ``` + +2. **Skript ausführbar machen**: + ```bash + chmod +x go.sh + ``` + +3. **Optional: In PATH hinzufügen** oder Alias erstellen: + ```bash + # Alias in ~/.bashrc + alias go="/pfad/zu/go.sh" + ``` + +## Verwendung + +### Kerberos-Authentifizierung +```bash +go kinit # Authentifiziert $LUSER@NESSUS.AT +go k # Kurzform +``` + +### Web-Server Verbindungen +```bash +go web 42 # Verbindet zu web42.in.easyname.com +go w 42 # Kurzform + +go web 42 e110604 # Verbindet und wechselt zu easyuser e110604 +go w 42 e110604 # Kurzform mit easyuser +``` + +### Mail-Server Verbindungen +```bash +go mx 12 # Verbindet zu mx12.in.easyname.com +go m 12 # Kurzform +``` + +### Logger-Server +```bash +go logger # Verbindet zu logger.in.nessus.at +go l # Kurzform +``` + +### Support-Server +```bash +go support # Verbindet zu support.in.easyname.com +go s # Kurzform +``` + +## Remote-Befehle ausführen + +Mit `--` können Remote-Befehle direkt ausgeführt werden: + +```bash +# Hostname und Uptime auf mx12 anzeigen +go mx 12 -- bash -lc 'hostname; uptime' + +# Logs auf logger durchsuchen +go logger -- grep "error" /var/log/syslog + +# Here-Doc an Remote-Server senden +go logger -- bash -s <<'EOF' + echo "Mehrere Befehle" + date + hostname +EOF +``` + +## Technische Details + +### Verbindungsverhalten + +- **Mit easyuser**: Interaktive TTY-Session mit `-qtt` (für `easyuser` Wechsel) +- **Ohne easyuser**: Non-interaktive Session, ideal für Scripting +- **Remote-Commands**: Werden direkt an SSH durchgereicht + +### Server-Mapping + +| Kommando | Server | +|----------|--------| +| `web` | `web.in.easyname.com` | +| `mx` | `mx.in.easyname.com` | +| `logger` | `logger.in.nessus.at` | +| `support` | `support.in.easyname.com` | + +### Exit-Codes + +Das Skript gibt den Exit-Code des SSH-Befehls direkt weiter, was es ideal für Scripting macht. + +## Beispiele für fortgeschrittene Nutzung + +### Logs von mehreren Servern sammeln +```bash +for i in {1..5}; do + echo "=== Web$i ===" + go web $i -- tail -n 5 /var/log/apache2/error.log +done +``` + +### Parallel auf mehreren MX-Servern prüfen +```bash +for mx in 10 11 12; do + go mx $mx -- mailq | head -5 & +done +wait +``` + +### Mit checkms kombinieren +```bash +# Wenn go als Befehl verfügbar ist, nutzt checkms es automatisch +checkms --minutes 30 +``` + +## Troubleshooting + +### LUSER nicht gesetzt +``` +Fehler: Bitte LUSER setzen! +``` +**Lösung**: `export LUSER="deinusername"` in ~/.bashrc hinzufügen + +### Kerberos-Ticket abgelaufen +``` +Permission denied (publickey,gssapi-keyex,gssapi-with-mic). +``` +**Lösung**: `go kinit` ausführen + +### Server-Nummer vergessen +``` +Fehler: 'go web' benötigt [EUSER]. +``` +**Lösung**: Server-Nummer angeben, z.B. `go web 42` + +--- + +*Dieses Skript wurde mit Hilfe von Claude Code erstellt.* \ No newline at end of file