# 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.*