Verbindung mit anderem User funktioniert

This commit is contained in:
2025-06-17 19:54:14 +02:00
parent 4a9bf3247a
commit 1ef19638e6

View File

@@ -11,9 +11,7 @@ log() {
} }
download_file() { download_file() {
# Vor dem Download ggf. existierende Dateien mit Zähler löschen
rm -f Homelab.mxtsessions* 2>/dev/null rm -f Homelab.mxtsessions* 2>/dev/null
if wget -q "$FILE_URL" -O "$INPUT_FILE"; then if wget -q "$FILE_URL" -O "$INPUT_FILE"; then
log "Datei erfolgreich heruntergeladen." log "Datei erfolgreich heruntergeladen."
else else
@@ -23,7 +21,7 @@ download_file() {
} }
extract_data() { extract_data() {
echo "Name,Adresse / Host" > "$OUTPUT_FILE" echo "Name,Host,Port,Benutzer" > "$OUTPUT_FILE"
awk ' awk '
/^\[Bookmarks/ { in_section=1; next } /^\[Bookmarks/ { in_section=1; next }
/^\[/ && !/^\[Bookmarks/ { in_section=0 } /^\[/ && !/^\[Bookmarks/ { in_section=0 }
@@ -32,8 +30,13 @@ extract_data() {
name = parts[1] name = parts[1]
split(parts[2], details, "%") split(parts[2], details, "%")
host = details[2] host = details[2]
gsub(/.*\\n/, "", name) port = details[3]
print name "," host user = details[4]
if (host != "") {
if (port == "") port = "22"
if (user == "") user = "root"
print name "," host "," port "," user
}
} }
' "$INPUT_FILE" >> "$OUTPUT_FILE" ' "$INPUT_FILE" >> "$OUTPUT_FILE"
log "Daten extrahiert und in $OUTPUT_FILE gespeichert." log "Daten extrahiert und in $OUTPUT_FILE gespeichert."
@@ -42,9 +45,13 @@ extract_data() {
read_server_list() { read_server_list() {
server_names=() server_names=()
ip_addresses=() ip_addresses=()
while IFS="," read -r name ip; do port_numbers=()
usernames=()
while IFS="," read -r name ip port user; do
server_names+=("$name") server_names+=("$name")
ip_addresses+=("$ip") ip_addresses+=("$ip")
port_numbers+=("$port")
usernames+=("$user")
done < <(tail -n +2 "$OUTPUT_FILE") done < <(tail -n +2 "$OUTPUT_FILE")
log "Serverliste erfolgreich eingelesen." log "Serverliste erfolgreich eingelesen."
} }
@@ -53,7 +60,7 @@ show_menu() {
while true; do while true; do
menu_entries=() menu_entries=()
for i in "${!server_names[@]}"; do for i in "${!server_names[@]}"; do
menu_entries+=("$i" "${server_names[i]} (${ip_addresses[i]})") menu_entries+=("$i" "${server_names[i]} (${ip_addresses[i]}:${port_numbers[i]})")
done done
menu_entries+=("q" "Ende") menu_entries+=("q" "Ende")
@@ -67,8 +74,8 @@ show_menu() {
fi fi
index=$gui_choice index=$gui_choice
log "Verbinde zu ${server_names[index]} (${ip_addresses[index]})..." log "Verbinde zu ${server_names[index]} (${usernames[index]}@${ip_addresses[index]}:${port_numbers[index]})..."
ssh ${ip_addresses[index]} ssh -p "${port_numbers[index]}" "${usernames[index]}@${ip_addresses[index]}"
done done
} }