diff --git a/login.sh b/login.sh index 9a1d0fa..b88131a 100755 --- a/login.sh +++ b/login.sh @@ -41,6 +41,14 @@ if ! command -v gum &> /dev/null; then exit 1 fi +# Funktionen +what_port() { + + + +} + + # Ziel-Host-Auswahl declare -A HOSTS=( ["Server1"]="100.87.87.101" @@ -60,24 +68,7 @@ declare -A 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. 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 mkdir -p "$KEY_DIR" cd "$KEY_DIR"