こちらはITRC Advent Calendar 2020の5日目の記事です。
前の記事: 私のTUNモジュールによるDockerのロードエラーとlinuxカーネル
次の記事: @himazin_shotaMLさんの超解像技術-SRGAN-実装してみた(Tensorflow 2.0) 推論フェーズ編です。
事の発端
802.1Xで設定されたwifiのホットスポットにNetworkManagerのnmtui
によるGUIで設定できないことがわかった。
どうやらnmcli
によるCLIでの設定なら可能という情報を得たがパスワードを打つとbash_history等に残ってしまうのでパスワードは履歴が残らないようにした。
環境
- Arch Linux
- networkmanager-1.26.4-1
解決方法
-
nmcli
コマンドでホットスポットを接続先に追加する
nmcli connection add type wifi con-name "[プロファイル名]" ifname [インターフェイス名] ssid "[SSID名]" wifi-sec.key-mgmt wpa-eap 802-1x.eap peap 802-1x.phase2-auth mschapv2 802-1x.identity "[ユーザー名等のID]"
# 具体例
nmcli connection add type wifi con-name "MySSID" ifname wlp3s0 ssid "MySSID" wifi-sec.key-mgmt wpa-eap 802-1x.eap peap 802-1x.phase2-auth mschapv2 802-1x.identity "USERNAME"
- その後
nmtui
でGUIを起動してSSIDを選択し、パスワードを入力する
使用したオプションの詳細
オプション | 詳細 |
---|---|
connection add | 新しいアクセス先を追加 |
type wifi | 無線であることを指定 |
con-name "[プロファイル名]" | 作成されたホットスポット接続プロファイル名を指定 |
ifname [インターフェイス名] | インターフェイス名(自分のPC,eth0やwlp3s0など) |
ssid "[SSID]" | ホットスポットのSSID名を指定する |
wifi-sec.key-mgmt | 暗号化の種類を選択 |
802-1x.eap | 認証の種類を選択 |
802-1x.phase2-auth | EAPの内部のTLSトンネルに使用するEAPメソッドに許可されるフェーズ2内部の非EAP認証のメソッドを指定する |
802-1x.identity | EAP認証方法のIDを指定する |
コマンドを具体的に見る
# 接続先の追加する。結論先行型。
nmcli connection add \
# MySSIDという名前でプロファイルを作成し、インターフェイス名をwlp3s0,ssidをMySSIDと指定
type wifi con-name "MySSID" ifname wlp3s0 ssid "MySSID" \
# 暗号の種類をwpa-eapを指定
wifi-sec.key-mgmt wpa-eap \
# 802-1xの認証のEAPメソッドからpeapを指定
802-1x.eap peap \
# フェーズ2内部の非EAP認証のメソッドにmschapv2を指定
802-1x.phase2-auth mschapv2 \
# EAP認証方法のIDをUSERNAMEと指定
802-1x.identity "USERNAME"
感想
認証の種類や方式を知らなかったので調べるきっかけになり勉強になりました。