Comment me connecter à un réseau wifi WPA en utilisant la ligne de commande?

98

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

    
posée Ken Kinder 17.05.2012 - 17:48
la source

9 réponses

94

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

Vous avez besoin du package wpasupplicant qui fournit la commande wpa_supplicant , installez-le si nécessaire via 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; se référer à 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.
    
réponse donnée Rinzwind 17.05.2012 - 17:57
la source
68

Ce lien montre tout et a bien fonctionné pour moi: lien

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

WPA de ligne de commande

Parfois, vous serez sur une ligne de commande sans accès aux outils réseau GUI, mais votre point d’accès est sécurisé avec WPA. Que faites-vous?

En supposant que votre carte sans fil fonctionne réellement (c.-à-d. que iwconfig peut le 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 format particulier ou ont une extension particulière.

Sinon, pour éviter de saisir la phrase secrète sur la ligne de commande (elle n’est donc 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
}

Connexion

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 devez 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; & gt; = 2.6.13 devrait utiliser wext). Si vous ne voyez pas de correspondance spécifique pour votre carte, essayez wext, car c'est un peu le catch-all.
  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’ya 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'il n'utilise pas votre console.

Vous êtes maintenant associé au réseau.

Mise en ligne

Pour accéder à Internet, vous devez 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, commencez par libérer les baux que vous possédez 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!

    
réponse donnée Alexandre Schmidt 08.04.2013 - 21:44
la source
5

wp_suplicant est exécuté par défaut sur Debian et d’autres distributions afin de 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 ce 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 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 je possède 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 le statut:

> status

Quittez wpa_cli:

> quit

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

# dhclient -r
# dhclient wlan0
    
réponse donnée David 06.10.2016 - 18:12
la source
3

Commencez par bricoler votre carte si elle n'est pas lancée:

ifconfig wlan0 up

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

iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
    
réponse donnée LnxSlck 17.05.2012 - 17:54
la source
2

Il existe un moyen de le faire en utilisant NetworkManager, si le package checkbox est 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.)

    
réponse donnée zigg 17.05.2012 - 18:32
la source
2

Toutes les réponses suggérant que wpa_supplicant est erronée. Oui, cela peut vous connecter au réseau WPA, mais c'est une mauvaise solution à long terme car il sera très difficile à maintenir et ne fonctionnera pas bien avec une connexion filaire. Lisez 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".

    
réponse donnée Cerin 26.07.2015 - 00:23
la source
2

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 scanne les réseaux disponibles et connecte votre carte avec la première qui apparaît sur /etc/vswm.cfg.

VSWM est disponible sur lien . 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 le capot, il utilise les outils de ligne de commande standard: iwlist, wpa_supplicant, iwconfig, dhclient ... Seul le travail automatise le travail.

    
réponse donnée Diogo Melo 18.09.2016 - 05:42
la source
1

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 fichier wpa_supplicant.conf sur la ligne de commande wpa_supplicant , par exemple

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

J'ai pu contourner le problème avec wpa_cli . La séquence de commandes que je devais 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).

    
réponse donnée John 03.12.2013 - 07:46
la source
0

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à depuis l’interface graphique et qu’il n’a pas besoin d’accès root.

Vous pouvez exécuter nmcli pour afficher les options disponibles.

Exemple de connexion à un wifi nommé MYESSID:

    nmcli c up MYESSID   
    
réponse donnée desgua 31.01.2018 - 13:46
la source

Lire d'autres questions sur les étiquettes