Jiří Meitner | IT služby Linux | Kladno | Česko

automatizace importu wifi sítí

Automatizace importu Wi-Fi sítí z telefonu do Ubuntu prostřednictvím QR kódů

🧓 Instalace Ubuntu notebooku pro babičku s importem Wi-Fi sítí přes QR kódy

Instalovali jste někdy notebook pro babičku? A potřebovali jste do něj přenést Wi-Fi sítě, které má uložené v telefonu?

📱➡️💻 Pokud na telefonu vidíte QR kódy těchto sítí, můžete je jednoduše nasnímat webkamerou a přidat do Ubuntu – bez ručního přepisování hesel. Stačí k tomu jednoduchý skript a malý nástroj.

📦 Co budeme potřebovat?

  • Ubuntu 24.04 s GNOME
    (pravděpodobně bude fungovat stejně i na jiných linuxových distribucích, které používají NetworkManager, ale testoval jsem na této verzi Ubuntu).
  • Webkameru (např. integrovanou)
  • Telefon, který dokáže zobrazit QR kódy Wi-Fi sítí
  • Nainstalovaný balíček zbar-tools (scanner QR kódů)

🔧 Instalace nástroje pro čtení QR kódů

Otevřeme terminál (například klávesovou zkratkou ctrl+alt+t a zadáme:

sudo apt install zbar-tools -yCode language: Bash (bash)

Potvrdíme svým správcovským heslem.

🎯 Jak to funguje?

Pomocí skriptu spustíme čtečku QR kódů přes kameru. Poté na telefonu postupně zobrazujeme QR kódy uložených Wi-Fi sítí na kameru. Jakmile skript nějaký QR kód rozpozná, vytvoří odpovídající připojení v NetworkManageru.

💻 Skript pro přenos Wi-Fi sítí

#!/bin/bash

echo "📷 Připrav se a ukaž QR kód Wi-Fi na kameru (ukonči Ctrl+C)"
echo "🔁 Můžeš ukázat více QR kódů za sebou – každá síť se uloží do NetworkManageru"

zbarcam --raw 2>/dev/null | while read -r line; do

    if [[ "${line}" =~ ^WIFI: ]]; then

        SSID="$(echo "${line}" | grep -oP 'S:\K[^;]*')"
        PASS="$(echo "${line}" | grep -oP 'P:\K[^;]*')"
        HIDDEN_FLAG="$(echo "${line}" | grep -oP 'H:\K[^;]*')"

        if [[ "${HIDDEN_FLAG}" == "true" ]]; then
            HIDDEN="yes"
        else
            HIDDEN="no"
        fi

        CON_NAME="${SSID// /_}"

        if nmcli -t -f NAME connection show | grep -Fxq "${CON_NAME}"; then
            echo "🔁 Spojení '${CON_NAME}' už existuje – aktualizuji heslo"
            nmcli connection modify "${CON_NAME}" wifi-sec.psk "${PASS}"
        else
            echo "➕ Přidávám nové spojení '${CON_NAME}' (SSID: '${SSID}')"
            nmcli connection add \
                type wifi \
                ifname "*" \
                con-name "${CON_NAME}" \
                ssid "${SSID}" \
                wifi-sec.key-mgmt wpa-psk \
                wifi-sec.psk "${PASS}" \
                802-11-wireless.hidden "${HIDDEN}"
        fi

        echo "✅ Hotovo: ${CON_NAME}"
        echo "––– Další QR můžeš ukázat hned..."

    fi

done
Code language: Bash (bash)

🧠 Proč se to hodí?

Jakmile babička přijde domů, notebook se sám připojí k její domácí síti – protože připojení už bude uložené. Nemusí nic zadávat, hledat název sítě ani si pamatovat hesla.
Jednoduché, praktické a bez stresu.

🛜 Vzdálená správa? Přes XERXES VPN skrze SSH a RDP

Dřív nebo později vám babička zavolá, že „něco nejde“. Abyste za ní nemuseli jezdit, doporučuji zprovoznit vzdálený přístup:

📌 Na babiččině notebooku:

Nainstalujeme gnome-remote-desktop, ale můžete ho tam mít již od instalace, a povolíme službu pro vzdálenou správu – důležité, povolení je potřeba dělat přímo na uživatelském účtu babičky. V případě, že babička si nezvládne pamatovat heslo do notebooku a bude používat auto login, bude nutné snižit bezpečnost klíčenky (seahorse) aby nevyžadovala heslo. Nastavte heslo pro RDP v gnome-control-center (systém > vzdálená plocha).

sudo apt install gnome-remote-desktop \
     openssh-server -yCode language: Bash (bash)
systemctl --user enable --now \
          gnome-remote-desktop.serviceCode language: Bash (bash)

📌 Na vašem stroji:

Můj oblíbený klient pro vzdálenou správu je remmina. Podporuje i jiné protokoly, než jen RDP (například také VNC nebo SPICE. Každopádně, u moderních distribucí, které používají zobrazovací protokol wayland, je pro tento způsob použití RDP správná volba.

sudo apt install remmina remmina-plugin-rdp
  1. Nastavte SSH připojení s klíčem (pro bezpečnost)
    (v terminálu vygenerujte sadu klíčů ssh-keygen -t ed25519), k babičce přenesete obsah .ssh/id_ed25519.pub do /home/babicka/.ssh/authorized_keys
  2. Nakonfigurujete remminu pro RDP připojení, na záložce ssh tunel povolíme ssh tunel, typ autentizace veřejný klíč
  3. V Remmině pak spouštíte grafickou plochu přes zabezpečené spojení
    → Žádné další porty nemusíte otevírat!

🔐 Nezapomeňte na zabezpečení

  • Firewall (ufw či nftables)
    (například blokování RDP komunikace mimo VPN)
  • zakázání přihlášení hesly skrze SSH
  • silné heslo použít nemůžete, babička si ho nebude pamatovat. A při autologinu musí být správně nastavená klíčenka, nebo se heslo pro RDP bude měnit s každým rebootem.

💬 A co vy?

  • Spravujete taky někomu v rodině notebook?
  • Máte vlastní tipy, jak si to zjednodušit?
  • Nebo byste ocenili IT podporu „na telefonu“?
  • Nebo byste chtěli využít XERXES VPN Family
    a využít tak na plno moderní VPN pro správu PC ve své rodině?
  • A co kdybych vám řekl, že se o PC ve vaší rodině či firmě klidně postarám
    a budete mít klid na práci? Cena v tomto případě je na dohodě

Napište mi. Rád pomůžu – s nastavením VPN, vzdálené správy nebo i s instalací systému, jednotlivcům, rodinám, i firmám.

Summary
Automatizace importu Wi-Fi sítí z telefonu do Ubuntu prostřednictvím QR kódů
Article Name
Automatizace importu Wi-Fi sítí z telefonu do Ubuntu prostřednictvím QR kódů
Description
Jednoduchý způsob, jak pomocí webkamery a nástroje zbarcam přidat do Ubuntu uložené Wi-Fi sítě z Android telefonu – bez zadávání hesel, jen pomocí QR kódů.
Author
Publisher Name
ITisLove
Publisher Logo

Comments

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

This site uses Akismet to reduce spam. Learn how your comment data is processed.