Ubuntu如何连接WIFI
使用到的命令主要是nmcli
,确保系统已经安装并且启动了网络管理器(NetworkManager)
systemctl status NetworkManager
如果这个服务没运行,可以输入下面的命令启动服务
sudo systemctl start NetworkManager
只需要输入密码
- 首先查看WiFi列表,获取
SSID
nmcli device wifi list
- 输入下面的命令即可连接,注意将
SSID
和PWD
替换成自己的。
nmcli device wifi connect SSID password PWD
需要用户名和密码
这种一般是企业或者学校的WiFi,这个时候需要输入下面的命令。现在假设如下
ConnectionName
:自定义的连接名字Your_SSID
:网络名称,也就是你需要连接的网络SSIDyour_username
:你的用户名your_password
:你的密码
输入以下命令就可以设置连接,但是要注意的是确认好EAP的方法,我一开始使用的是TTLS
怎么都连接不上,但是后来切换成PEAP
就可以了,包括阶段2身份验证方法MSCHAPv2
,因人而异。
nmcli connection add type wifi con-name ConnectionName ifname wlan0 ssid Your_SSID \
wifi-sec.key-mgmt wpa-eap \
802-1x.eap peap \
802-1x.phase2-auth mschapv2 \
802-1x.identity your_username \
802-1x.password your_password
输入完成以后可以通过下面的命令查看详细信息。
nmcli connection show ConnectionName
检查过后没问题可以输入下面的命令启动连接。
nmcli connection up ConnectionName --ask
最后可以查看一下连接状态,如有有输出内容就是连接成功,反之则没有。
nmcli connection show --activate
如果需要删除连接新建,可以输入下面的命令删除,最后按照上面的命令重新建立就可以
nmcli connection delete ConnectionName
其他
为什么会写这个呢?是因为最近入手了一个开发板(香橙派Z3),在学校无论是使用有线网络还是无线网络都需要校园网认证。这个开发板的GPU模块官方没有支持,如果装图形化界面的系统就会很卡顿,损失很多性能,只能装无图形化界面的系统。装了没有图形化界面的系统,验证就是一个问题。一开始使用的是curl命令,通过抓包获取到接口,通过命令发送post请求携带用户名和密码,但是一直报错设备未认证,也查看了一些大佬的代码,脚本都没有成功。今天就换了一个思路,直接使用系统的网络管理工具,并且借助ChatGPT成功拿下,精简以后记录下来。希望以后能用得到吧。