Files
h0tznpl0tz bddb3cf1e9 Add exitrace tool and improve documentation
- Add exitrace: Enhanced Exim log analyzer with status classification
- Add Maintainer: ljp to all ljp-owned scripts
- Update READMEs: Use installer-compatible command examples
- Update main and legacy READMEs to include exitrace tool
2025-09-11 12:35:48 +02:00

3.3 KiB

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):

    export LUSER="deinusername"
    
  2. Installation über Installer:

    # Im Repository-Hauptverzeichnis
    ./install.sh
    

Das Installationsscript erstellt automatisch einen Symlink in ~/bin, sodass go direkt verfügbar ist.

Verwendung

Kerberos-Authentifizierung

go kinit              # Authentifiziert $LUSER@NESSUS.AT
go k                  # Kurzform

Web-Server Verbindungen

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

go mx 12              # Verbindet zu mx12.in.easyname.com  
go m 12               # Kurzform

Logger-Server

go logger             # Verbindet zu logger.in.nessus.at
go l                  # Kurzform

Support-Server

go support            # Verbindet zu support.in.easyname.com
go s                  # Kurzform

Remote-Befehle ausführen

Mit -- können Remote-Befehle direkt ausgeführt werden:

# 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

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

for mx in 10 11 12; do
  go mx $mx -- mailq | head -5 &
done
wait

Mit checkms kombinieren

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