Σύδεση σε Wireless με WPA2-PSK απο κονσόλα (terminal)

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Παρακαλώ να επιλέξετε, με προσοχή, την άδεια που θέλετε να έχουν οι οδηγοί που συγγράφετε.
Πληροφορίες για τις άδειες μπορείτε να βρείτε εδώ.
Άμα επιθυμείτε κάποια άλλη άδεια επικοινωνήστε με κάποιο Διαχειριστή είτε Συντονιστή.

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

Σύδεση σε Wireless με WPA2-PSK απο κονσόλα (terminal)

Δημοσίευσηαπό sokoban4ever » 23 Φεβ 2009, 03:24

Το Πρόβλημα:

Θέλουμε να συνδεθούμε σε 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. :x :x :x

Τι κάνουμε λοιπόν;

Η λύση :

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
}


Τέλος το σώζουμε (το ρημάδι :)) το /etc/wpa_supplicant/wpa_supplicant.conf σαν sudo σαν root όπως θέλουμε :)

Πριν προχωρήσουμε δοκιμάζουμε με την εντολή

Κώδικας: Επιλογή όλων
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 :) απο κονσόλα χωρίς gui και άλλα fancy drenty κλπ πράματα Enjoy :D :) :) :) ;) ;) ;) ;) ;) :) :) 8-) 8-) 8-)

Προσοχή

Για να μην έχουμε 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
Τελευταία επεξεργασία από sokoban4ever και 23 Φεβ 2009, 15:41, έχει επεξεργασθεί 5 φορά/ες συνολικά
Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

Μήνυμα με αγάπη και αληλλεγγύη σε όλους τους ανθρώπους από όλους τους λαούς , ιδίως του Ελληνικού.
Άβαταρ μέλους
sokoban4ever
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 2331
Εγγραφή: 13 Φεβ 2009, 02:22
Εκτύπωση

Re: Σύδεση σε Wireless με WPA2-PSK απο κονσόλα (terminal)

Δημοσίευσηαπό logari81 » 23 Φεβ 2009, 11:36

Μπράβο ΤΕΛΕΙΟ, δεν θυμαμαι αν σου ειχα προτεινει να κανεις αυτον τον οδηγο στο αλλο θεμα που ειχες ανοιξει, παντως αν δεν το εκανα... μεσα στο μυαλο μου εισαι...μπραβο.

Παρατηρηση: σου ξέφυγαν κάποια
Κώδικας: Επιλογή όλων
[b][/b]
η bold μορφοποιηση δεν μπορει να δουλεψει μεσα σε code.
http://opensourceecology.org/


Λειτουργικό: Ubuntu 10.04 lucid 64-bitΠροδιαγραφές: 4x Intel Core i5 CPU M 450 2.40GHz ‖ RAM 3696 MiB ‖ Lenovo KL3 - LENOVO IdeaPad Y560
Κάρτα γραφικών: ATI Device [1002:68c0]Ασύρματο: wlan0: Atheros Inc. AR928X Wireless Network Adapter (PCI-Express) [168c:002a] (rev 01)
logari81
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6074
Εγγραφή: 14 Μάιος 2008, 10:40
Εκτύπωση


Επιστροφή στο Οδηγοί - How to - Tutorials