web-dev-qa-db-fra.com

Ajouter plusieurs réseaux wifi en ligne de commande

Je gère un script post-installation pour mon Ubuntu. J'aimerais ajouter des connexions réseau Wi-Fi par bash, donc je me connecterais automatiquement à celles-ci plus tard, mais je ne peux pas trouver un moyen de le faire.

Existe-t-il une simple commande ou un fichier de configuration dans lequel je devrais ajouter mes SSID et phrases secrètes? Encore une fois, sans avoir besoin de vous connecter à un réseau à ce moment-là ... Merci!

EDIT:

Comme suggéré par @LassePoulsen, vous pouvez créer des fichiers de style INI dans /etc/NetwokManager/system-connections. Un petit conseil à ce sujet:

  • Utilisez uuidgen pour générer la valeur uuid
  • N'oubliez pas de chmod 600! Explication:

    Pour des raisons de sécurité, les fichiers lisibles ou inscriptibles par un utilisateur ou un groupe autre que "root" sont ignorés, car les clés privées et les phrases secrètes peuvent être stockées en texte clair dans le fichier.

  • Vous devez recharger la configuration après les modifications manuelles

Liens utiles:

3
fett2k

Vous devriez pouvoir créer les fichiers de configuration pour chaque connexion. Ces fichiers de configuration résident dans /etc/NetworkManager/system-connections et sont des fichiers texte de style INI de plan.

Voici un exemple de fichier de mon système /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

Bien que vous puissiez les créer manuellement, il est beaucoup plus facile de créer toutes les connexions sur une machine, puis de les copier à partir de là. Mais vous devez toujours être conscient de certaines choses:

  • mac-address est l'adresse matérielle du nic à utiliser pour la connexion
  • uuid doit être uniq car il est utilisé pour les références internes dans NetworkManager.
  • autoconnect est toujours activé s'il n'est pas défini sur false
  • N'oubliez pas de redémarrer NetworkManager après avoir modifié les fichiers.
2
LassePoulsen

Voir man nm-connection-manager, et sa section Voir aussi, pour voir comment cela se fait (dpkg -L network-manager-gnome pour voir ce qu'il faut lire):

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.
0
waltinator