Θέλουμε να συνδεθούμε σε wireless με wpa2 encryption απο κονσόλα είτε γιατι πρέπει είτε για κάτι προέκυψε και δεν έχουμε GUI.
και κατα συνέπεια ούτε τον fancy networkmanager για να πατήσουμε τεμπέλικα και να συνδεθούμε
Δοκιμάζουμε iwconfig wlan0 key s:<To passphrase mas>
αλλά μας "πετάει" Error.
Δοκιμάστε να βάλετε το key στο iwconfig σε HEX , σε Ascii ακόμα και το passphrase όπως είναι και με και χωρίς την παράμετρο s: το αποτέλεσμα θα είναι Error invalid input
κοιτάμε το Man page του iwconfig -- >
- Κώδικας: Επιλογή όλων
man iwconfig
Στο Man page του iwconfig γραφει ξεκάθαρα " Passphrase is currently not supported"
Το iwconfig απο μόνο του δεν υποστηρίζει WPA2.



Τι κάνουμε λοιπόν;
Η λύση :
To wpa_supplicant
Όπότε έχουμε και λέμε :
Κλείνουμε κάθε networkmanager τελείως
Κλείνουμε και όλα τα networkinterfaces εκτός του lo (loopback)!
π.χ
- Κώδικας: Επιλογή όλων
sudo ifconfig eth0 down
sudo ifconfig eth1 down
κλπ κλπ ...
ή
- Κώδικας: Επιλογή όλων
sudo ifdown eth0
sudo ifdown eth1
κλπ κλπ ...
Τώρα χρειαζόμαστε ένα κλειδί 256 bit hmmm Tι κάνουμε;
Πρέπει να μετατραπεί το κλείδι σε μια σειρά απο 8 έως 63 χαρακτήρες ascii και μάλιστα εκτυπώσιμους
Για αυτό υπάρχει ο αλγόριθμος PBKDF2 --> http://tools.ietf.org/html/rfc2898
που παίρνει το passphrase και το SSID και μας δίνει ένα pre-shared key η αλλιώς PSK
Μια έτοιμη λύση ειναι το το wpa_passphrase πρόγραμμα (Το οποίο είναι bundled με το wpa_supplicant)
το οποίο και εκτελούμε ως εξής :
- Κώδικας: Επιλογή όλων
wpa_passphrase <EDW BAZOUME TO SSID MAS> [KAI EDW TO KWDIKO MAS]
αυτο θα κρυπτογραφίσει το PSK.
Άμα κάνουμε :
- Κώδικας: Επιλογή όλων
wpa_passphrase POTENET TOP_SECRET
θα μας "πετάξει" (στο stdout) για παράδειγμα:
- Κώδικας: Επιλογή όλων
network={
ssid="POTENET"
#psk="TOP_SECRET"
psk=efc45304006265e2e21b266e29dbcbf8f4a49336a07907fe4cd4692c9e47d824
}
Ωραία ώς εδώ.
Μετα φτιάχνουμε το αρχείο /etc/wpa_supplicant/wpa_supplicant.conf
και βάζουμε ΑΠΛΑ ΚΑΙ ΩΡΑΙΑ το output του wpa_passphrase
Δεν τελειώσαμε ακόμα πρέπει να προσθέσουμε ανάλογα την κρυπτογράφηση
και άλλα στοιχεία .
Για WPA2-PSK βάζουμε ακόμα και έχουμε:
- Κώδικας: Επιλογή όλων
network={
pairwise=CCMP # <--- εμένα δουλέυει και χωρίς αυτά
group=CCMP # <--- εμένα δουλέυει και χωρίς αυτά
proto=WPA2
key_mgmt=WPA-PSK
ssid="POTENET"
#psk="TOP_SECRET"
psk=efc45304006265e2e21b266e29dbcbf8f4a49336a07907fe4cd4692c9e47d824
}
Τέλος το σώζουμε (το ρημάδι


Πριν προχωρήσουμε δοκιμάζουμε με την εντολή
- Κώδικας: Επιλογή όλων
sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0 -D wext
όπου wlan0 βέβαια να υπάρχει το device δεν γράφουμε ότι μας καπνίσει

To wext ειναι generic driver (wpa-driver) και θα δουλέψει στις περισσότερες κάρτες δικτύου αν όχι δοκιμάστε αυτά :
- Κώδικας: Επιλογή όλων
Driver Description
====== ===========
hostap Host AP driver (Intersil Prism2/2.5/3)
madwifi MADWIFI 802.11 support (Atheros, etc.)
atmel ATMEL AT76C5XXx (USB, PCMCIA)
wext Linux wireless extensions (generic)
ndiswrapper Linux ndiswrapper
ipw Intel ipw2100/2200 driver
wired wired Ethernet driver
test test driver
Για Debbuging mode εκτελέστε:
- Κώδικας: Επιλογή όλων
sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0 -D wext
Και για ακόμα περισσότερο output (μπάς και δούμε τίποτα χρήσιμο εάν δεν λειτουργεί) εκτελέστε
- Κώδικας: Επιλογή όλων
sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0 -D wext -dd
Tώρα πρέπει για να δουλέψει μόνιμα να πειράξουμε το /etc/network/interfaces
Ετσι σαν sudoer η σαν root προσθέτουμε:
- Κώδικας: Επιλογή όλων
#OI RITHMISEIS MAS PROSOXH MHN PEIRAXOUME TO lo TO loopback dhladh
auto wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Προσοχή μπορούμε να βάλουμε Comment με hash # στα άλλα interfaces
αλλά το lo , το loopback interface δεν το πειράζουμε
Όπου πάλι γράφουμε τον wpa-driver που μας δούλεψε στο testaki που κάναμε προηγούμενα ( εμένα και στους περισσότερους/ες δουλέυει ο wext)
Το σώζουμε.
Τώρα στην τελική ευθεία ΠΡΩΤΑ ΣΙΓΟΥΡΕΥΤΕΙΤΕ ΟΤΙ ΟΛΑ ΤΑ networkinterfaces (ολες η κάρτες ) είναι κλειστές!!! εκτελέστε :
- Κώδικας: Επιλογή όλων
sudo ifdown eth0
sudo ifdown eth1
sudo ifdown wlan0
... κλπ κλπ
Τέλος πατάμε ένα:
- Κώδικας: Επιλογή όλων
sudo ifup wlan0
και είμαστε online















Προσοχή
Για να μην έχουμε conflicts απενεργοποιούμε τον networkmanager αλλά και τον (knetworkmanager εαν έχουμε)
Για αυτό πάμε System --> Preferences-->Sessions και ξετικάρουμε τους networkmanagers για να μην ξεκινάνε με το που κάνουμε log in
Άμα θέλουμε να αλλάζουμε networks (όσοι έχουν την πολυτέλεια...) χωρίς reboot εκτελούμε
- Κώδικας: Επιλογή όλων
sudo ifdown wlan0 ; sudo ifup wlan0
Για περισσότερη ασφάλεια κάνουμε ιδιωκτήτη και group τον root και chmod 600
- Κώδικας: Επιλογή όλων
sudo chown root:root /etc/wpa_supplicant/wpa_supplicant.conf
sudo chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf
Αν κάνουμε ls -la /home/<TO USERNAME MAS>/.kde/share/config/knetworkmanagerrc
θα δούμε ότι τα δικαιώματα και στoν τυπικό network manager του KDE είναι :
-rw------- (άρα chmod 600) απο default για λόγους ασφαλείας.

Επίσης υπαρχεί και το wpa_gui που είναι ένα προγραμματακι με gui απο την Qt library
που κάνει αυτά και άλλα πολλά.
Αλλά όπως είπαμε ο σκοπός ειναι να μπείς σε wpa2 χωρίς Gui γιατι αλλιώς και ο (K)networkmanager μια χαρά ειναι .
Για περισσότερες οδηγίες (RTFM'S) δείτε το:
- Κώδικας: Επιλογή όλων
man wpa_supplicant
Aναλυτικά για το wpa_supplicant:
http://manual.sidux.com/el/internet-con ... wpa-el.htm
http://www.linuxhomenetworking.com/wiki ... Encryption