在命令行上添加多个 WiFi 网络

在命令行上添加多个 WiFi 网络

我正在为我的 ubuntu 维护一个安装后脚本。我想通过 bash 添加 wifi 网络连接,以便稍后自动连接到它们,但我不知道该怎么做。

有没有一个简单的命令或配置文件,我应该在其中添加我的 SSID 和密码?同样,当时不需要实际连接到网络...谢谢!

编辑:

根据@LassePoulsen的建议,您可以在中创建INI样式的文件/etc/NetwokManager/system-connections。对此有一点建议:

  • 用于uuidgen生成 uuid 值
  • 别忘了chmod 600!解释:

    为了安全起见,它将忽略除“root”之外的任何用户或组可读或可写的文件,因为私钥和密码可能以纯文本形式存储在文件中。

  • 手动更改后必须重新加载配置

有用的链接:

答案1

您应该能够为每个连接创建配置文件,这些配置文件位于/etc/NetworkManager/system-connections平面 INI 样式的文本文件中。

以下是我的系统中的一个示例文件/etc/NetworkManager/system-connections/AndroidAPP

[connection]
id=AndroidAPP
uuid=a36db5c2-293e-443c-b267-0ecd4bd6d9ce
type=wifi
autoconnect=false
permissions=
secondaries=

[wifi]
mac-address=03:51:1F:01:02:03
mac-address-blacklist=
mode=infrastructure
seen-bssids=
ssid=AndroidAPP

[wifi-security]
group=
key-mgmt=wpa-psk
pairwise=
proto=
psk=ReallyStrongPresharedKey

[ipv4]
dns-search=
method=auto

[ipv6]
dns-search=
ip6-privacy=0
method=auto

虽然您可以手动创建这些连接,但在一台机器上创建所有连接然后从那里复制它们要容易得多。但您仍然需要注意以下几点:

  • mac-address是用于连接的网卡的硬件地址
  • uuid必须是唯一的,因为它用于 NetworkManager 中的内部引用
  • autoconnect如果未设置为 false,则始终启用
  • 更改文件后请记住重新启动 NetworkManager。

答案2

请参阅man nm-connection-manager及其另请参阅部分,了解其如何完成(dpkg -L network-manager-gnome了解要阅读的内容):

trusty (1) nm-connection-editor.1.gz
Provided by: network-manager-gnome_0.9.8.8-0ubuntu4_i386 

NAME
       nm-connection-editor - network connection editor for NetworkManager

SYNOPSIS
       nm-connection-editor  [ OPTIONS ]

DESCRIPTION
       nm-connection-editor  is  a  GTK‐based  application to add, remove, and
       modify network connections stored  by  NetworkManager.   NetworkManager
       must  be  running  for any network connections to be added, removed, or
       modified.

相关内容