所以基本上,我想在不在X环境中时使用来连接我的WiFi网络。但是我在man手册中没有找到方法。有什么建议吗?
iw
(列表/配置)只能处理WEP。
您需要wpasupplicant
软件包,该软件包提供wpa_supplicant
命令,如果需要,请通过sudo apt-get install wpasupplicant
进行安装。
将您的SSID和密码放入/etc/wpa_supplicant.conf
文件中(需要使用sudo权限)。
示例:
network={
ssid="ssid_name"
psk="password"
}
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D wext
sudo dhclient wlan0
wpa_supplicant -h
。示例:hostap (default) Host AP driver (Intersil Prism2/2.5/3). (this can also be used with Linuxant DriverLoader).
hermes Agere Systems Inc. driver (Hermes-I/Hermes-II).
madwifi MADWIFI 802.11 support (Atheros, etc.).
atmel ATMEL AT76C5XXx (USB, PCMCIA).
wext Linux wireless extensions (generic).
ndiswrapper Linux ndiswrapper.
broadcom Broadcom wl.o driver.
ipw Intel ipw2100/2200 driver.
wired wpa_supplicant wired Ethernet driver
roboswitch wpa_supplicant Broadcom switch driver
bsd BSD 802.11 support (Atheros, etc.).
ndis Windows NDIS driver.
wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && dhclient wlan0
无法连接到无线网络,尽管默认情况下NetworkManager会将我连接到所需的网络。我想尝试使用命令行方式,是否有什么错误我犯了? - Registered Userroot
(系统管理员)身份运行它们。所以可以使用以下命令:sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && sudo dhclient wlan0
或者将它们分成两个命令,使用&&
进行分隔。 - Anderswpa_supplicant -Dwext -ieth1 -c/root/wpa.conf
。 - Kayeswpa_passphrase
的用途所在。 - BЈовић$ sudo apt-get install wpasupplicant
# yum install wpa_supplicant
$ wpa_passphrase myrouter mypassphrase > wpa.conf
$ wpa_passphrase myrouter > wpa.conf
mypassphrase
network={
ssid="myrouter"
#psk="mypassphrase"
psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}
建立连接
现在我们将实际运行wpa_supplicant来连接到无线网络。首先,如果您的路由器广播其SSID(默认情况下都会),您可能希望确保您的无线网卡能够看到它:
$ iwlist scan
你可能需要以 root 用户身份运行以强制刷新。
接下来,您需要知道三个信息:
wpa_supplicant --help
列出了它所拥有的不同驱动程序(在 "drivers:" 下方)。从0.5.8版本开始,有用的选择是: wext
、hostap
、madwifi
、atmel
、ndiswrapper
和 ipw
(ipw 仅适用于旧内核;>=2.6.13 应使用 wext)。如果您没有看到与您的网卡完全匹配的选项,请尝试使用 wext,因为它是一个综合性的选择。iwconfig
。对于非无线设备,它将报告 "no wireless extensions",而对于任何无线设备,它将显示一些数据。现在,您已经获得了这些数据,以 root 用户身份运行以下命令:
# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]
# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf
-B
选项在后台运行它,这样就不会占用你的控制台。# dhclient -r
# dhclient eth1
wpa_passphrase
似乎只能为WPA-Personal(或WPA-PSK)生成配置文件,而不能为WPA-Enterprise生成配置文件。 - robertspierre# iwconfig
wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
# ps -e | grep wpa
1881 ? 00:00:07 wpa_supplicant
# wpa_cli
> scan
> scan_results
...然后你会得到这样的东西:
bssid / frequency / signal level / flags / ssid
e0:60:66:7c:81:7f 2417 -66 [WPA2-PSK-CCMP][ESS] vodafone817E
e0:60:66:61:83:4b 2452 -76 [WPA2-PSK-CCMP][WPS][ESS] vodafone834A
f8:8e:85:c5:65:c2 2462 -76 [WPA-PSK-CCMP+TKIP][WPS][ESS] MOVISTAR_65C1
a8:d3:f7:46:0c:be 2472 -83 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS] Orange-0CBC
...
> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"
选择它为当前:
> enable_network 0
> reconnect
检查状态:
> status
> quit
# dhclient -r
# dhclient wlan0
wpa_cli
然后写成 wpa_client
?在 Kubuntu 18.10 中似乎没有 wpa_client
这个命令。 - robertspierrecheckbox
软件包,可以使用NetworkManager来完成这个任务。sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY
[global]
dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]
[wlan0-0]
ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp
[wlan0-1]
ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24
在底层,它使用标准的命令行工具:iwlist、wpa_supplicant、iwconfig、dhclient... 只是它自动化了这项工作。
nmcli
是Ubuntu上默认网络管理应用的命令行版本。
它的一些优点是它使用你已经在图形界面中配置好的设置,并且不需要root访问权限。
你可以运行nmcli
来显示可用选项。
连接到名为MYESSID的wifi的示例:
nmcli c up MYESSID
sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
wpa_cli
来解决这个问题。由于我在 Linux ndiswrapper 中使用的是 Windows 驱动程序,所以我需要使用以下命令序列:sudo modprobe ndiswrapper
sudo iwconfig wlan0 essid "<My Network ID>" mode managed
sudo wpa_cli identity "<My Network ID>" password "<My password>"
如果您的卡片未运行,请先启动它:
ifconfig wlan0 up
iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY