V tomto článku se věnuji problému se správou SSH tunelů mezi zařízeními Solar Assistant a hlavní domácím serverem. Tunel potřebuji pro bezpečné přesměrování nezabezpečeného HTTP připojení ze Solar Assistant na portu 80 přes šifrované spojení.
Tunel mezi zařízeními se může přerušit:
Je nutné mít mechanismus, který zajistí obnovu spojení bez nutnosti ručního zásahu.
autossh je nástroj, který automaticky spravuje a obnovuje SSH tunely.
Na hlavním serveru spusťte následující příkazy:
sudo apt update sudo apt install autossh
Pro přesměrování portu 80 ze Solar Assistant na port 8080 na hlavní server použijte následující příkaz:
autossh -M 0 -f -N -g -L 8080:localhost:80 user@solar_assistant_device_ip
V souboru `~/.ssh/config` doporučuji přidat následující nastavení:
Host solar_assistant HostName solar_assistant_device_ip User user ServerAliveInterval 30 ServerAliveCountMax 3
Toto nastavení zajistí pravidelné ověřování připojení a rychlou detekci přerušení.
Pro větší spolehlivost můžete vytvořit systemd službu, která bude tunel monitorovat.
Soubor `/etc/systemd/system/ssh-tunnel.service`:
[Unit] Description=SSH Tunnel to Solar Assistant After=network.target [Service] ExecStart=/usr/bin/autossh -M 0 -N -g -L 8080:localhost:80 user@solar_assistant_device_ip Restart=always RestartSec=10 User=osmc [Install] WantedBy=multi-user.target
1. Načtěte změny:
sudo systemctl daemon-reload
2. Povolení automatického startu:
sudo systemctl enable ssh-tunnel
3. Spuštění služby:
sudo systemctl start ssh-tunnel
Díky autossh a systemd je možné vytvořit spolehlivý mechanismus pro správu SSH tunelů mezi zařízeními. Toto řešení nejen zajišťuje bezpečný přístup k HTTP serveru na Solar Assistant, ale také eliminuje nutnost ručních zásahů při výpadcích spojení.