Connect-Tools Kategorie und Dokumentation hinzugefügt

- 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 <noreply@anthropic.com>
This commit is contained in:
h0tznpl0tz
2025-09-10 12:28:09 +02:00
co-authored by Claude
parent 63b9d9b167
commit 9d2cc4dd33
4 changed files with 331 additions and 3 deletions
+71
View File
@@ -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/
+17 -3
View File
@@ -8,6 +8,7 @@ Hier sammeln wir kleine Helfer für Log-Analysen, Automatisierungen und typische
## Inhaltsverzeichnis ## Inhaltsverzeichnis
- [Übersicht](#übersicht) - [Übersicht](#übersicht)
- [Connect Tools](#connect-tools)
- [Legacy Snippets](#legacy-snippets) - [Legacy Snippets](#legacy-snippets)
- [WH20 Snippets](#wh20-snippets) - [WH20 Snippets](#wh20-snippets)
- [How-To: Neues Skript anlegen](#how-to-neues-skript-anlegen) - [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 ## Ü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 - [**Legacy**](./legacy/README.md) – Snippets für Legacy-Umgebungen
- [**WH20**](./wh20/README.md) – Snippets für WH20-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 ## Legacy Snippets
Aktuell enthalten: 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: Um ein neues Bash-Skript in dieses Repository aufzunehmen, bitte folgende Schritte:
1. **Ordnerstruktur anlegen** 1. **Ordnerstruktur anlegen**
Je nach Umgebung (`legacy` oder `wh20`) einen Unterordner erstellen: Je nach Kategorie (`connect`, `legacy` oder `wh20`) einen Unterordner erstellen:
``` ```
connect/<scriptname>/
legacy/<scriptname>/ legacy/<scriptname>/
wh20/<scriptname>/ wh20/<scriptname>/
``` ```
@@ -82,7 +95,8 @@ Um ein neues Bash-Skript in dieses Repository aufzunehmen, bitte folgende Schrit
``` ```
4. **Übersicht aktualisieren** 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) - [`legacy/README.md`](./legacy/README.md)
- [`wh20/README.md`](./wh20/README.md) - [`wh20/README.md`](./wh20/README.md)
+93
View File
@@ -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.*
+150
View File
@@ -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<NR>` | `web<NR>.in.easyname.com` |
| `mx<NR>` | `mx<NR>.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 <NR> [EUSER].
```
**Lösung**: Server-Nummer angeben, z.B. `go web 42`
---
*Dieses Skript wurde mit Hilfe von Claude Code erstellt.*