Switche: optionaler SSH-Port statt fest 22
- Neue Spalte switches.ssh_port (nullable INTEGER), Migration für bestehende DBs in _ensure_schema(), Feld in create_db.py ergänzt. - Formular (Anlegen/Bearbeiten): optionales SSH-Port-Feld, Validierung 1-65535, leer -> NULL (= Standard 22 überall, SWITCH_DEFAULT_SSH_PORT). Switch-Liste zeigt den effektiven Port inkl. "(Standard)"-Hinweis. - generate_ips.py liefert den effektiven Port (Fallback 22) als eigenes Pipe-Feld an poe.sh; poe.sh übernimmt es in disable_poe/enable_poe und reicht es als "ssh -p <port>" an die expect-Skripte durch (Default weiterhin 22 falls Parameter fehlt). - Web-Terminal (Verbindungstest) sendet den im Formular eingetragenen Port statt hartkodiert 22. - Live getestet: gültiger/leerer/ungültiger Port beim Anlegen, korrekte Weitergabe durch generate_ips.py inkl. Feldreihenfolge, die poe.sh 'read' erwartet. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -15,7 +15,7 @@ def generate_ips_list():
|
||||
switches = {
|
||||
row["hostname"]: row
|
||||
for row in conn.execute("""
|
||||
SELECT switches.hostname, switches.ip,
|
||||
SELECT switches.hostname, switches.ip, switches.ssh_port,
|
||||
credentials.username AS username, credentials.password AS password
|
||||
FROM switches
|
||||
LEFT JOIN credentials ON credentials.id = switches.credential_id
|
||||
@@ -33,10 +33,12 @@ def generate_ips_list():
|
||||
switch = switches.get(dev["switch_hostname"])
|
||||
if switch and switch["password"]:
|
||||
switch_ip = switch["ip"]
|
||||
switch_ssh_port = switch["ssh_port"] or 22
|
||||
switch_user = switch["username"]
|
||||
switch_pass = decrypt_password(switch["password"])
|
||||
else:
|
||||
switch_ip = switch["ip"] if switch else ""
|
||||
switch_ssh_port = (switch["ssh_port"] if switch else None) or 22
|
||||
switch_user = ""
|
||||
switch_pass = ""
|
||||
|
||||
@@ -45,6 +47,7 @@ def generate_ips_list():
|
||||
f"{dev['rpi_ip']}|"
|
||||
f"{dev['name']}|"
|
||||
f"{switch_ip}|"
|
||||
f"{switch_ssh_port}|"
|
||||
f"{dev['switch_hostname'] or 'kein Switch'}|"
|
||||
f"{port}|"
|
||||
f"{switch_user}|"
|
||||
|
||||
Reference in New Issue
Block a user