sshmanager
Auswahlmenü für SSH Verbindung
This commit is contained in:
39
ssh_manager.sh
Normal file
39
ssh_manager.sh
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Datei mit Servernamen und IP-Adressen
|
||||||
|
server_file="serverliste.csv"
|
||||||
|
|
||||||
|
# Arrays für Servernamen und IP-Adressen initialisieren
|
||||||
|
server_names=()
|
||||||
|
ip_addresses=()
|
||||||
|
|
||||||
|
# Datei einlesen und Arrays füllen
|
||||||
|
while IFS="," read -r name ip; do
|
||||||
|
server_names+=("$name")
|
||||||
|
ip_addresses+=("$ip")
|
||||||
|
done < <(tail -n +2 "$server_file")
|
||||||
|
|
||||||
|
# Hauptmenü in einer Schleife anzeigen
|
||||||
|
while true; do
|
||||||
|
# Erzeuge die Einträge für das Whiptail-Menü
|
||||||
|
menu_entries=()
|
||||||
|
for i in "${!server_names[@]}"; do
|
||||||
|
menu_entries+=("$i" "${server_names[i]} (${ip_addresses[i]})")
|
||||||
|
done
|
||||||
|
menu_entries+=("q" "Ende")
|
||||||
|
|
||||||
|
# Zeige das Whiptail-Menü an
|
||||||
|
gui_choice=$(whiptail --title "Serverauswahl" --menu "Wähle einen Server aus:" 20 78 10 "${menu_entries[@]}" 3>&1 1>&2 2>&3)
|
||||||
|
|
||||||
|
# Überprüfe die Auswahl
|
||||||
|
if [[ $? -ne 0 || "$gui_choice" == "q" ]]; then
|
||||||
|
echo "Programm beendet."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Verarbeite die Serverauswahl
|
||||||
|
index=$gui_choice
|
||||||
|
echo "Verbinde zu ${server_names[index]} (${ip_addresses[index]})..."
|
||||||
|
ssh ${ip_addresses[index]}
|
||||||
|
|
||||||
|
done
|
||||||
Reference in New Issue
Block a user