login.sh aktualisiert

This commit is contained in:
alf
2025-11-23 12:42:09 +00:00
parent fd2989d438
commit 15cf1dd22b

View File

@ -41,6 +41,14 @@ if ! command -v gum &> /dev/null; then
exit 1 exit 1
fi fi
# Funktionen
what_port() {
}
# Ziel-Host-Auswahl # Ziel-Host-Auswahl
declare -A HOSTS=( declare -A HOSTS=(
["Server1"]="100.87.87.101" ["Server1"]="100.87.87.101"
@ -60,24 +68,7 @@ declare -A HOSTS=(
) )
TARGET_LABEL=$(gum choose --header "Zielsystem wählen" "${!HOSTS[@]}") TARGET_LABEL=$(gum choose --header "Zielsystem wählen" "${!HOSTS[@]}")
TARGET_HOST="${HOSTS[$TARGET_LABEL]}"
log_info "Zielsystem gewählt: $TARGET_LABEL ($TARGET_HOST)"
TARGET_PORT=$(gum input --placeholder "Ziel SSH Port" --value "2222")
log_info "SSH-Port: $TARGET_PORT"
# Benutzer-Auswahl
USER_CHOICES=("alf" "root" "oberkoetter" "Benutzer manuell eingeben")
SSH_USER=$(gum choose --header "SSH-Benutzer wählen" "${USER_CHOICES[@]}")
if [[ "$SSH_USER" == "Benutzer manuell eingeben" ]]; then
SSH_USER=$(gum input --placeholder "SSH Benutzername")
fi
log_info "Verwendeter Benutzer: $SSH_USER"
# Gültigkeit wählen
VALIDITY_OPTIONS=("300" "600" "1800" "3600") # Sekunden
VALIDITY=$(gum choose --header "Gültigkeitsdauer des Zertifikats wählen (Sekunden)" "${VALIDITY_OPTIONS[@]}")
log_info "Zertifikatsgültigkeit: $VALIDITY Sekunden"
# Hier unterscheiden zwischen Servern, die mittels einfachem PublicKey-Verfahren und solchen, die per zertifiziertem Schlüssel angesteuert werden. # Hier unterscheiden zwischen Servern, die mittels einfachem PublicKey-Verfahren und solchen, die per zertifiziertem Schlüssel angesteuert werden.
case $TARGET_LABEL in case $TARGET_LABEL in
@ -94,6 +85,25 @@ case $TARGET_LABEL in
;; ;;
*) *)
TARGET_HOST="${HOSTS[$TARGET_LABEL]}"
log_info "Zielsystem gewählt: $TARGET_LABEL ($TARGET_HOST)"
TARGET_PORT=$(gum input --placeholder "Ziel SSH Port" --value "2222")
log_info "SSH-Port: $TARGET_PORT"
# Benutzer-Auswahl
USER_CHOICES=("alf" "root" "oberkoetter" "Benutzer manuell eingeben")
SSH_USER=$(gum choose --header "SSH-Benutzer wählen" "${USER_CHOICES[@]}")
if [[ "$SSH_USER" == "Benutzer manuell eingeben" ]]; then
SSH_USER=$(gum input --placeholder "SSH Benutzername")
fi
log_info "Verwendeter Benutzer: $SSH_USER"
# Gültigkeit wählen
VALIDITY_OPTIONS=("300" "600" "1800" "3600") # Sekunden
VALIDITY=$(gum choose --header "Gültigkeitsdauer des Zertifikats wählen (Sekunden)" "${VALIDITY_OPTIONS[@]}")
log_info "Zertifikatsgültigkeit: $VALIDITY Sekunden"
# Schlüssel vorbereiten # Schlüssel vorbereiten
mkdir -p "$KEY_DIR" mkdir -p "$KEY_DIR"
cd "$KEY_DIR" cd "$KEY_DIR"