J'aimerais me connecter à un point d'accès sans fil à partir de la ligne de commande. Idéalement, je n'aurais besoin que du nom de l'AP. Mais l'adresse du matériel fonctionnerait également.
Je sais que je peux utiliser nmcli
pour me connecter à une connexion réseau gérée, mais dans mon cas, le point d'accès n'est peut-être pas encore configuré pour Network-Manager (voyez la différence entre les résultats de nm-tool
et nmcli con
).
Exemple de sortie de nmcli
:
Auto pwln 3a3d62b1-bbdf-4f76-b4d2-c211fd5cfb03 802-11-wireless [...]
Wired Network aa586921-accf-4932-98c4-c873c310f08e 802-3-ethernet [...]
Cisco-UDP Uni 7f94847b-04dc-40b7-9955-5246fb77cc65 vpn [...]
T-mobile (D1) 867f345a-cbbf-4bd4-b883-a5e5ae0932f0 gsm [...]
Exemple de sortie de nm-tool
:
State: connected
- Device: eth1 [Auto pwln] ----------------------------------------------------
[...]
Wireless Access Points (* = current AP)
*pwln: Infra, [...], Freq 2472 MHz, Rate 54 Mb/s, Strength 80 WPA WPA2
WLAN: Infra, [...], Freq 2422 MHz, Rate 54 Mb/s, Strength 20 WPA WPA2
[...]
Comment puis-je me connecter à un point d'accès qui peut ou non être connu de NM?
Extra: Découvrir si la connexion nécessite une phrase secrète, et le soumettre en ligne de commande serait également très utile (c’est-à-dire que ce serait bien si le gestionnaire de réseau n’ouvre pas de dialogue de trousseau ou erreurs sur l'interface graphique)
Vous pouvez utiliser cnetworkmanager
pour cela.
Modifier:
Après enquête, il apparaît qu’il est impossible d’exécuter simultanément deux "fournisseurs de configuration utilisateur" (une application écoutant une adresse dbus donnée) et cnetworkmanager doit jouer le rôle de "fournisseur de configuration" la connexion est établie).
Maintenant, vous pouvez ajouter les informations pour la connexion à gconf sous la clé /system/networking/connections
(vous pouvez le faire à partir de la ligne de commande ou d'un script), puis utiliser dbus ou un outil de ligne de commande comme cnetworkmanager ou nmcli pour vous y connecter. . Peut-être devrez-vous aussi d'abord ajouter la clé au trousseau de l'utilisateur (pour éviter les popups de mots de passe).
Mais bien sûr, cela ne fonctionnera pas sur un poste de travail utilisant un autre client NM que nm-applet (par exemple, KDE). Vous devriez aussi trouver un moyen de leur fournir une configuration ...
Éditer 2:
Il semble que cela pourrait être possible via org.freedesktop.NetworkManagerUserSettings
sur le DBus du système, mais tout cela est mal documenté IMO ...
Vous voudrez peut-être lire à propos de paramètres de configuration et spécifications d'interface DBus .
Et voici n exemple pertinent (vous voulez peut-être configurer une connexion utilisateur au lieu d'une connexion système)
Vous pouvez le faire directement en utilisant nmcli
, même si la connexion n’est pas encore configurée dans Network Manager:
nmcli dev wifi con "myssid" password "myssidpassword"
Si vous ne souhaitez pas que le mot de passe sans fil soit stocké dans votre historique dans les versions récentes (peut-être plus récent que celui mentionné ci-dessous), vous pouvez ajouter --ask
pour que nmcli vous invite à fournir les informations manquantes dont il a besoin.
nmcli --ask device wifi connnect "myssid"
Cette fonctionnalité a été ajoutée à Network Manager 0.9.6. Elle ne fonctionne donc que sous Ubuntu 12.10 ou ultérieure.
Vous pouvez également obtenir une liste des points d’accès disponibles avec:
nmcli dev wifi list
Vous pouvez utiliser iwconfig (wifitools) pour le cryptage wep, ou wpa_supplicant pour wpa et wep, vous pouvez également utiliser wicd-curses si vous cherchez quelque chose de plus facile, bonne chance =)
Vous pouvez consulter iwconfig et iwlist:
Il y a beaucoup d'options. Départ Outils sans fil pour Linux pour plus.