Xintao
Xintao
发布于 2024-09-02 / 8 阅读
0

Linux系统命令行连接WIFI

Ubuntu如何连接WIFI

使用到的命令主要是nmcli,确保系统已经安装并且启动了网络管理器(NetworkManager)

systemctl status NetworkManager

如果这个服务没运行,可以输入下面的命令启动服务

sudo systemctl start NetworkManager

只需要输入密码

  1. 首先查看WiFi列表,获取SSID
nmcli device wifi list
  1. 输入下面的命令即可连接,注意将SSIDPWD替换成自己的。
nmcli device wifi connect SSID password PWD

需要用户名和密码

这种一般是企业或者学校的WiFi,这个时候需要输入下面的命令。现在假设如下

  • ConnectionName:自定义的连接名字
  • Your_SSID:网络名称,也就是你需要连接的网络SSID
  • your_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成功拿下,精简以后记录下来。希望以后能用得到吧。