#!/usr/bin/env bash # go - SSH-Shortcuts für easyname Server # Maintainer: ljp set -euo pipefail LUSER="${LUSER:?Bitte LUSER setzen!}" usage() { cat < [EUSER] [-- ...] go m|mx [-- ...] go l|log|logger [-- ...] go s|support [-- ...] Beispiele: go web 42 go web 42 e110604 go mx 12 -- bash -lc 'hostname; uptime' go logger -- bash -s # für Here-Doc USAGE } [[ $# -ge 1 ]] || { usage; exit 1; } cmd="$1"; shift || true case "$cmd" in k|kinit) exec kinit "${LUSER}@NESSUS.AT" ;; w|web) # go web NR [EUSER] [-- REMOTE-CMD...] [[ $# -ge 1 ]] || { echo "Fehler: 'go web' benötigt [EUSER]." >&2; usage; exit 1; } nr="$1"; shift || true host="${LUSER}@web${nr}.in.easyname.com" if [[ $# -ge 1 && "$1" != "--" ]]; then # EUSER angegeben -> interaktiv mit TTY (für easyuser), trotzdem leiser (-q) euser="$1"; shift || true exec ssh -qtt "$host" "bash -lic 'easyuser \"$euser\"'" else # keine EUSER -> nicht-interaktiv; evtl. REMOTE-CMD nach "--" durchreichen [[ $# -ge 1 && "$1" == "--" ]] && shift || true exec ssh "$host" "$@" fi ;; m|mx) # go mx NR [-- REMOTE-CMD...] [[ $# -ge 1 ]] || { echo "Fehler: 'go mx' benötigt ." >&2; usage; exit 1; } nr="$1"; shift || true host="${LUSER}@mx${nr}.in.easyname.com" [[ $# -ge 1 && "$1" == "--" ]] && shift || true exec ssh "$host" "$@" ;; l|log|logger) # go logger [-- REMOTE-CMD...] host="${LUSER}@logger.in.nessus.at" [[ $# -ge 1 && "$1" == "--" ]] && shift || true exec ssh "$host" "$@" ;; s|support) # go support [-- REMOTE-CMD...] host="${LUSER}@support.in.easyname.com" [[ $# -ge 1 && "$1" == "--" ]] && shift || true exec ssh "$host" "$@" ;; *) usage; exit 1 ;; esac