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-
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.
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
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.
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.