Question Comment me connecter à un réseau wifi WPA à l'aide de la ligne de commande?


Donc, en gros, je voudrais utiliser iwconfig pour se connecter à mon réseau wifi lorsque je ne suis pas à l'intérieur de X. Mais je ne vois pas comment le faire dans la page de manuel. Une idée?


99
2018-05-17 15:48


origine


En relation: Outil en ligne de commande pour changer facilement le réseau sans fil «connecté à»? chez softwarerecs SE - kenorb


Réponses:


iw (list / config) ne peut gérer que le WEP.

Vous avez besoin du wpasupplicant paquet qui fournit le wpa_supplicant commande, installez si nécessaire par sudo apt-get install wpasupplicant.

Vous mettez votre SSID et votre mot de passe dans /etc/wpa_supplicant.conf.

Exemple:

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

En supposant que votre interface soit wlan0, vous pouvez vous connecter avec:

sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext
sudo dhclient wlan0

"wext" est un pilote et sera spécifique à chaque carte; faire référence à wpa_supplicant -h. Exemples:

hostap (default) Host AP driver (Intersil Prism2/2.5/3). (this can also be used with Linuxant DriverLoader).
hermes Agere Systems Inc. driver (Hermes-I/Hermes-II).
madwifi MADWIFI 802.11 support (Atheros, etc.).
atmel ATMEL AT76C5XXx (USB, PCMCIA).
wext Linux wireless extensions (generic).
ndiswrapper Linux ndiswrapper.
broadcom Broadcom wl.o driver.
ipw Intel ipw2100/2200 driver.
wired wpa_supplicant wired Ethernet driver
roboswitch wpa_supplicant Broadcom switch driver
bsd BSD 802.11 support (Atheros, etc.).
ndis Windows NDIS driver.

95
2018-05-17 15:57



c'est bien que iwlist / iwconfig ne puisse gérer que le WEP mais dans mon cas wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && dhclient wlan0  ne pas connecté au réseau sans fil, bien que par défaut NetworkManager me connecte au réseau que je veux essayer de la manière de ligne de commande est-ce que je fais une erreur? - Registered User
La dernière commande est en réalité deux commandes, et vous devez les exécuter à la fois root (administrateur du système). Alors sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && sudo dhclient wlan0  ou divisez-les en deux commandes autour &&. - Anders
Cette solution me donne l'erreur "wlan0: Pilote 'non supporté' '. - Cerin
@cerin vous vous rendez compte que c'est pour WPA et non WEP;) - Rinzwind
@Rinzwind, Yes ... En parcourant la page de manuel de wpa_supplicant, vous constatez que le pilote peut varier, de sorte que votre commande ne fonctionnera probablement pas comme indiqué. Vous devez choisir le pilote -D <pour votre matériel spécifique. Pour moi, cela a fini par être "nl80211". - Cerin


Ce lien montre tout et a bien fonctionné pour moi: http://linux.icydog.net/wpa.php

Je copie le contenu ici, donc nous l'avons, au cas où ce site serait déconnecté.

Ligne de commande WPA

Parfois, vous serez sur une ligne de commande sans accès aux outils de mise en réseau de l'interface graphique, mais votre point d'accès est sécurisé avec WPA. Que faire?

En supposant que votre carte sans fil fonctionne réellement (c.-à-d. Que iwconfig peut la voir et interagir avec elle), l'utilisation de wpa_supplicant est en fait assez simple. Installer wpa_supplicant

De nos jours, la plupart des distributions ont installé wpa_supplicant par défaut. Si vous avez les commandes wpa_passphrase et wpa_supplicant disponibles, alors vous êtes prêt à partir. Sinon, vous devrez installer le paquet en faisant quelque chose comme (pour Ubuntu):

$ sudo apt-get install wpasupplicant

Ou (pour Fedora):

# yum install wpa_supplicant

Ou quelle que soit la commande pour votre distribution.

Génération du fichier de configuration

Maintenant que wpa_supplicant est installé, nous allons créer son fichier de configuration. Une fois que vous connaissez le SSID et le mot de passe WPA, il suffit de lancer:

$ wpa_passphrase myrouter mypassphrase > wpa.conf

Bien sûr, remplacez "myrouter" avec le SSID de votre routeur, "mypassphrase" avec votre phrase de passe WPA et "wpa.conf" avec le fichier dans lequel vous voulez stocker la configuration. Ce nom de fichier ne doit pas nécessairement suivre un format particulier ou avoir une extension particulière.

Alternativement, pour éviter de taper la phrase secrète sur la ligne de commande (de sorte qu'elle ne soit pas enregistrée dans l'historique du shell), vous pouvez spécifier uniquement le SSID sur la ligne de commande. wpa_passphrase attend que vous saisissiez la phrase secrète suivie de enter:

$ wpa_passphrase myrouter > wpa.conf
mypassphrase

Vous devriez vous retrouver avec un fichier ressemblant à ceci:

network={
    ssid="myrouter"
    #psk="mypassphrase"
    psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}

Se connecter

Nous allons maintenant exécuter wpa_supplicant pour nous connecter au réseau sans fil. Premièrement, si votre routeur diffuse son SSID (ils le font tous par défaut), vous voulez probablement vous assurer que votre carte sans fil peut réellement la voir:

$ iwlist scan

Vous devrez peut-être l'exécuter en tant que root pour forcer une actualisation.

Ensuite, vous devrez connaître trois informations:

  1. Quels pilotes sans fil wpa_supplicant utiliser pour votre carte. Lancer wpa_supplicant --help répertorie les différents pilotes dont il dispose (sous "drivers:"). À partir de 0.5.8, les choix utiles sont: wext, hostap, madwifi, atmel, ndiswrapper et ipw (ipw est réservé aux anciens noyaux;> = 2.6.13 devrait utiliser wext). Si vous ne voyez pas de correspondance spécifique pour votre carte, essayez wext, car c'est une sorte de fourre-tout.
  2. Le périphérique réseau de votre carte. C'est généralement eth1 ou wlan0, mais si vous n'êtes pas sûr, vous pouvez simplement lancer iwconfig. Il signalera "aucune extension sans fil" pour les périphériques non sans fil et affichera certaines données pour tous les périphériques sans fil.
  3. Le chemin d'accès au fichier de configuration que vous avez créé à l'étape précédente.

Maintenant que vous avez ces données, exécutez (en tant que root):

# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]

Il n'y a pas d'espace entre les options et les paramètres. N'incluez pas les crochets car je viens d'ajouter ceux-ci pour plus de clarté. Par exemple, pour mon ordinateur portable, cela ressemble à ceci:

# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf

Vous pouvez également l'exécuter en arrière-plan en utilisant l'option -B afin qu'elle n'utilise pas votre console.

Vous êtes maintenant associé au réseau.

Se mettre en ligne

Pour être en ligne, vous devrez vous procurer une adresse IP. La plupart des gens voudront simplement obtenir une adresse IP dynamique à partir d’un serveur DHCP, probablement celui intégré au routeur. (Je ne vais pas couvrir le paramétrage d'une adresse IP statique et d'une table de routage car c'est une bête en soi.)

Pour obtenir un bail DHCP, lancez d'abord les baux que vous avez encore (en tant que root):

# dhclient -r

Demandez ensuite un nouveau bail (bien sûr, remplacez eth1 par le nom de votre périphérique réseau, le même que celui utilisé dans la section précédente):

# dhclient eth1

Vous avez maintenant une adresse IP, en théorie du moins. Bonne navigation!


68
2018-04-08 19:44



FYI pour les personnes inexpérimentées, la plupart des noms d'interface de carte sans fil seront wlan <numéro>, donc par exemple la première carte sans fil dans votre configuration sera wlan0 au lieu de eth1 - xorinzor
Merci, la commande wpa_passphrase a aidé. J'ai essayé la réponse acceptée mais le fichier était erroné, wpa_passphrase m'a aidé et je viens juste de passer la deuxième commande de la réponse acceptée (je savais déjà avec certitude qu'il s'appelle wlan0) ... - Lilian A. Moraru
merci c'était vraiment génial, pouvez-vous me donner le lien couvrir la configuration de la table statique et de routage ... :) - Yassine
@AlexandreSchmidt +1 pour être complet! - John Strood


Debian et les autres distributions utilisent wpa_suplicant comme service par défaut pour gérer les réseaux wifi. wpa_suplicant peut être géré par différents clients / frontaux tels que l'interface graphique du gestionnaire de réseau. Ceci est mieux expliqué dans cette wiki debian.

wpa_cli est la ligne de commande client wpa_suplicant pour gérer les réseaux wifi.

modifier: Je viens de trouver ce post expliquant Comment utiliser nmcli et c'est beaucoup mieux que wpa_cli car il est compatible avec le GUI Network Manager et leurs paramètres et réseaux wifi enregistrés.

Exemple d'utilisation de wpa_cli:

Vérifiez que j'ai déjà une interface réseau compatible wifi:

# iwconfig
wlan0     IEEE 802.11bgn  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=22 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on

Vérifiez si le processus wpa_suplicant est en cours d'exécution:

# ps -e | grep wpa
1881 ?        00:00:07 wpa_supplicant

Entrez dans le mode interactif client wpa:

# wpa_client

Liste des points d'accès disponibles:

> scan
> scan_results

... et vous obtenez quelque chose comme ça:

bssid / frequency / signal level / flags / ssid
e0:60:66:7c:81:7f       2417    -66     [WPA2-PSK-CCMP][ESS]    vodafone817E
e0:60:66:61:83:4b       2452    -76     [WPA2-PSK-CCMP][WPS][ESS]       vodafone834A
f8:8e:85:c5:65:c2       2462    -76     [WPA-PSK-CCMP+TKIP][WPS][ESS]   MOVISTAR_65C1
a8:d3:f7:46:0c:be       2472    -83     [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS]       Orange-0CBC
...

Ajoutez votre AP:

> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"

Sélectionnez-le comme courant:

> enable_network 0

Connectez-vous à:

> reconnect

Vérifiez l'état:

> status

Quittez wpa_cli:

> quit

À partir du shell, demandez le protocole DHCP pour les paramètres IP et net:

# dhclient -r
# dhclient wlan0

5
2017-10-06 16:12





Commencez par bricoler votre carte si ce n'est pas runnig:

ifconfig wlan0 up

Définir les paramètres en fonction de votre réseau

iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY

3
2018-05-17 15:54



Je crois que c'est pour WEP seulement. Pas de WPA;) - Rinzwind
Rinzwind a raison. Ceci est pour WEP. Désolé pour l'erreur. - LnxSlck
aucun problème. Laissez-le ici et quelqu'un pourra un jour bénéficier de votre réponse;) - Rinzwind
Cela fonctionnera-t-il même sans clé comme un réseau ouvert? - EvoandroidEvo
J'espère que personne ne bénéficiera jamais d'une réponse spécifique au WEP: '( - Max Ried


Il existe un moyen de le faire en utilisant NetworkManager, si vous avez le checkbox paquet installé.

sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY

(Crédit: bug 923836, qui est apparu dans mes recherches sur le sujet.)


2
2018-05-17 16:32





Toutes les réponses suggérant wpa_supplicant sont fausses. Oui, cela peut vous connecter au réseau WPA, mais c'est une mauvaise solution à long terme car il sera très difficile à gérer et ne fonctionnera pas bien avec une connexion filaire. Lis cette réponse et simplifiez-vous la vie en utilisant Network Manager à partir de la ligne de commande. J'ai perdu des heures à essayer de configurer wpa_supplicant, puis j'ai essayé nmcli et ça "fonctionnait".


2
2017-07-25 22:23



Le problème avec le «juste travail» est qu’ils peuvent facilement «simplement ne pas fonctionner» et où êtes-vous. Pour les utilisateurs de la CLI, l'approche directe de wpa_supplicant est meilleure car elle expose toutes ses parties. La grande vertu de NM est que toutes ses parties sont cachées. Il est donc faux de dire que l’approche wpa_supplicant est fausse. Vous aimez les choses qui «fonctionnent», d'accord. Votre préférence est votre droit, mais il est impoli de dire aux gens qu’ils ont tort simplement parce que leur préférence ne vous appartient pas. C'est pourquoi j'ai décroché votre réponse. - Stephen Boston


Vous pouvez utiliser VSWM - Very Simple Wireless Manager. Vous placez vos points d'accès connus sur un simple fichier cfg (/etc/vswm.cfg) et lorsque vous exécutez vswm Il analyse les réseaux disponibles et connecte votre carte avec la première qui apparaît sur /etc/vswm.cfg.

VSWM est disponible à https://github.com/dmelo/vswm . Voici comment choisir le fichier de configuration vswm.cfg:

[global]

dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]

[wlan0-0]

ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp

[wlan0-1]

ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24

Sous les capuchons, il utilise les outils de ligne de commande standard: iwlist, wpa_supplicant, iwconfig, dhclient ... Seul le travail est automatisé.


2
2017-09-18 03:42





J'ai eu du mal à utiliser wpa_supplicant directement pour accéder à un réseau sans fil. Mon identifiant réseau et mon mot de passe ont généré des erreurs lorsque j'ai utilisé le wpa_supplicant.conf fichier sur le wpa_supplicant ligne de commande, par ex.

sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B

J'ai pu travailler avec wpa_cli. La séquence de commandes que j'ai dû utiliser, car j'utilise un pilote Windows avec Linux ndiswrapper, est la suivante:

sudo modprobe ndiswrapper
sudo iwconfig wlan0 essid "<My Network ID>" mode managed
sudo wpa_cli identity "<My Network ID>" password "<My password>"

Le réseau a été configuré en l’ajoutant à la section sans fil du réseau de l’interface graphique, que je puisse cliquer sur l'icône du réseau câblé ou sans fil et sélectionner le fournisseur sans fil (ce qui était parfois nécessaire pour compléter la connexion).


1
2017-12-03 06:46





le nmcli est la version en ligne de commande de l'application de gestionnaire de réseau par défaut sur Ubuntu.

Certains des avantages sont qu'il utilise la configuration que vous avez déjà de l'interface graphique et qu'il n'a pas besoin d'un accès root.

Tu peux courir nmcli pour afficher les options disponibles.

Exemple de connexion à un wifi nommé MYESSID:

    nmcli c up MYESSID   

0
2018-01-31 12:46