web-dev-qa-db-fra.com

Connexion aux réseaux sans fil à partir de la ligne de commande

J'ai besoin d'écrire un script Shell qui se connecte à l'une des deux connexions Wi-Fi disponibles. L'une est une connexion sécurisée et l'autre est une connexion sécurisée. Ma question a 2 parties-

  1. Comment se connecter à la connexion non sécurisée (non cryptée et aucun mot de passe requis) à partir de la ligne de commande (ou en exécutant un script Shell) lorsque je suis connecté à la connexion sécurisée?

    J'ai suivi les étapes de http://www.ubuntugeek.com/how-to-troubleshoot-wireless-network-connection-in-ubuntu.html pour une connexion sécurisée. Je mets toutes les commandes dans un script et l'exécute (je me suis assuré que le nom de l'interface et essid sont corrects)

    Sudo dhclient -r wlan0
    Sudo ifconfig wlan0 up
    Sudo iwconfig wlan0 essid "UAPublic"
    Sudo iwconfig wlan0 mode Managed
    Sudo dhclient wlan0
    

    Mais rien ne se passe: je ne suis pas déconnecté du réseau actuel et connecté au nouveau.

  2. Lorsque je souhaite me connecter au réseau Wi-Fi sécurisé, je comprends que https://askubuntu.com/a/138476/70665 que je dois utiliser wpa_supplicant. Mais j'entre beaucoup de détails dans l'interface quand je me connecte via l'interface utilisateur

    • sécurité: entreprise wpa et wpa2
    • Authentification: PEAP
    • Certificat de CA: Equifax ...
    • Version PEAP: automatique
    • authentification interne: MSCHAPv2
    • nom d'utilisateur :
    • mot de passe :

Comment utiliser wpa_supplicant pour mentionner tous ces détails dans la ligne de commande? Le fichier de conf

network={
        ssid="ssid_name"
        psk="password"
}

ça ne marche pas pour moi.

5
Balaji

Je suppose que vous utilisez Ubuntu Desktop comme vous ne l’avez pas spécifié autrement.

Vous pouvez créer une configuration de réseau sans fil qui sera gérée par Network Manager en créant des fichiers dans /etc/NetworkManager/system-connections. Regardez les fichiers existants pour voir à quoi ressemble le format.

Une fois la connexion créée, vous pouvez utiliser la commande nmcli pour gérer NetworkManager à partir de la ligne de commande, notamment pour activer, désactiver et interroger les connexions.

Incidemment, l'outil de test du système (case à cocher) a un script qui fait exactement cela: crée une connexion et l'active, avec les paramètres que vous indiquez sur la ligne de commande.

Par exemple, cela crée une connexion au réseau "canard" ouvert:

Sudo /usr/share/checkbox/scripts/create_connection duck

Cela créera une connexion à un réseau utilisant la sécurité WPA2, avec le mot de passe "wings":

Sudo /usr/share/checkbox/scripts/create_connection -S wpa -K wings duck

Le script est écrit en Python, il devrait donc être facile pour vous de regarder et de vous adapter à vos besoins.

L'aide du script dit ceci:

Usage: create_connection [options] SSID

Options:
  -h, --help            show this help message and exit
  -S SECURITY, --security=SECURITY
                        The type of security to be used by the connection.
                        One of wpa and wep. No security will be used if
                        nothing is specified.
  -K KEY, --key=KEY     The encryption key required by the router.
  -U UUID, --uuid=UUID  The uuid to assign to the connection for use by
                        NetworkManager. One will be generated if not
                        specified here.
  -R RETRIES, --retries=RETRIES
                        The number of times to attempt bringing up the
                        connection until it is confirmed as active.
  -I INTERVAL, --interval=INTERVAL
                        The time to wait between attempts to detect the
                        registration of the connection.
8
roadmr