通过命令行连接到wifi网络

Jay*_*dor 95 command-line networking wifi

我正在尝试仅使用命令行 (Linux) 连接到我的 WEP 网络。

我跑:

sudo iwconfig wlan0 mode Managed essid 'my_network' key 'xx:xx:... hex key, 26 digits'
Run Code Online (Sandbox Code Playgroud)

然后我尝试获取一个IP

sudo dhclient -v wlan0
Run Code Online (Sandbox Code Playgroud)

或者

sudo dhclient wlan0
Run Code Online (Sandbox Code Playgroud)

没有成功(尝试 ping google.com)。

我知道关键字是正确的,我还尝试使用 's:key' 使用 ASCII 键,结果同样如此。

运行 dhclient 时,我收到以下消息:

Listening on LPF/wlan0/44:...
Sending on   LPF/wlan0/44:...
Sending on   Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 3 
Run Code Online (Sandbox Code Playgroud)

我在连接 WICD 或标准 Ubuntu 工具时没有问题。

Dan*_*s W 100

选项1

只需编辑/etc/network/interfaces和编写:

auto wlan0
iface wlan0 inet dhcp 
                wpa-ssid {ssid}
                wpa-psk  {password}
Run Code Online (Sandbox Code Playgroud)

之后写入并关闭文件并使用命令:

sudo dhclient wlan0
Run Code Online (Sandbox Code Playgroud)

{ssid}{password}替换为您各自的 WiFi SSID 和密码。


选项 2

如果您更换了无线网卡、Wi-Fi 网络名称和 Wi-FI 密码,这也应该有效。

我正在使用: - 无线网卡是wlan0 - 无线网络是"Wifi2Home" - 无线网络密钥是 ASCII 码ABCDE12345

首先,启动并运行您的 WiFi 卡:

sudo ifconfig wlan0 up
Run Code Online (Sandbox Code Playgroud)

现在扫描范围内的 WiFi 网络列表:

sudo iwlist wlan0 scan
Run Code Online (Sandbox Code Playgroud)

这将向您显示无线网络列表,从列表中选择您的:

sudo iwconfig wlan0 essid Wifi2Home key s:ABCDE12345
Run Code Online (Sandbox Code Playgroud)

要获取 IP 地址,现在使用动态主机客户端请求它:

sudo dhclient wlan0
Run Code Online (Sandbox Code Playgroud)

然后您应该连接到 WiFi 网络。第一个选项更好,因为它可以作为一项cron工作运行,以在您需要时启动 wifi。如果您出于任何原因需要关闭 WiFi,只需输入:

sudo ifconfig wlan0 down
Run Code Online (Sandbox Code Playgroud)

供参考

我还看到人们使用替代命令。我使用 Debian、Solaris 和 OSX,所以我不能 100% 确定它们在 Ubuntu 上是否相同。但他们在这里:

sudo ifup wlan0是一样的sudo ifconfig wlan0 up
sudo ifdown wlan0是一样的sudo ifconfig wlan down

  • 我非常喜欢第2版!只有我得到:无线请求“设置编码”错误(8B2A):设备 wlan0 上的 SET 失败;无效的论点。这是我使用的命令(就像你建议的那样):sudo iwconfig wlan0 essid mywifiname key s:THEPASSWORD。你能帮我吗? (12认同)
  • 最后两个命令不一样。«ifconfig ... up» 只是激活一个界面,其中 «ifup ...» 除了激活还设置 IP 地址和一些其他选项。 (2认同)

DLi*_*ght 47

如果您已经nmcli安装,我认为这是最简单的解决方案。

对于新连接:

nmcli dev wifi connect <mySSID> password <myPassword>

或者,如果已经建立了连接:

nmcli con up <mySSID>

(或者如果这不起作用,请尝试nmcli con up id <mySSID>


小智 41

有海伦芬J的两种选择都不错,但也有,如果你通过“标准的Ubuntu工具”使用这个工作第3选择nmcli,应该已经在安装/usr/bin/nmcli

第一次运行

nmcli c
Run Code Online (Sandbox Code Playgroud)

这将列出您的连接,第一列是 SSID,第二列是连接的 UUID。

复制要连接到的 SSID 的 UUID,以便将其粘贴到下一个命令中。

接下来,运行

nmcli c up uuid <paste uuid here>
Run Code Online (Sandbox Code Playgroud)

这将使用与“标准 Ubuntu 工具”相同的东西连接到您的 wifi!


MrE*_*MrE 26

使用nmtui,如果你只是希望连接。

nmtui 截图

系统会提示您使用 SSID 列表激活连接,您只需输入密码即可。

  • 精彩的。这是我见过的最好的解决方案。 (2认同)

r00*_*004 10

安装后wpa_supplicant,您就有了一个很好的软件,可以满足您所有的无线需求。然后,您可以使用wpa_cli命令以交互方式访问和设置您的网络。如果您想随时使用 gui,还有许多 3rd 方软件可用作 wpa_supplicant 的 GTK+ 或 QT GUI。

您也可以在您的 linux 操作系统中/etc/wpa_supplicant.conf/etc/wpa_supplicant/wpa_supplicant.conf取决于您的 linux 操作系统设置连接配置。h里面的交互式命令类型的更多信息wpa_cli

  • 为什么应该使用 wpa_supplicant 而不是 @Danijel 选项 1(这似乎更容易)? (2认同)