ラズパイからADと連携したRADIUS認証が必要な無線LANに接続する (WPA2-EAP)


【内容】

Raspberry PiからActiveDirectoryと連携したRADUIS認証(WPA2-EAP)が必要なのWifiアクセスポイントに接続出来るようにします。

【設定】

いろいろはまりましたが、結果/etc/wpa_supplicant/wpa_supplicant.conf を以下のように設定したら安定して接続できるようになりました。

/etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
    ssid="<SSID名>"
    scan_ssid=1
    priority=1
    key_mgmt=WPA-EAP
    pairwise=CCMP
    auth_alg=OPEN
    eap=PEAP
    identity="<ドメインユーザID>"
    password=hash:<ハッシュ化されたパスワード>
    phase1="peaplabel=0"
    phase2="auth=MSCHAPV2"
}

<SSID名><ドメインユーザID><ハッシュ化されたパスワード>を自分のものに置き換えてください。
ここで問題になるのは「ハッシュ化されたパスワード」の取得方法です。
ubuntuなどのLinux環境がある場合は、以下のコマンドで取得できます。


echo -n <パスワード> | iconv -t utf16le | openssl md4

上記コマンドを実行した場合、パスワードの平文が履歴に残るので、履歴を消しておいたほうが良いです。

また、Python2.7を実行できる環境の場合はsmbpasswdというモジュールをインストールすることで、パスワードのハッシュ化が可能です。

pip install smbpasswd
python
import smbpasswd
print (smbpasswd.nthash("<パスワード>"))

なお、scan_ssid=1はステルスモードのSSIDに対し、接続できるように設定しています。