提取/推送包括密码在内的无线配置列表的脚本?

stw*_*sel 5 scripts network-manager wireless

我需要配置一组新机器。他们都需要一组我目前在我的机器上拥有的通用 WLAN 连接。我知道如何使用网络管理器 GUI 手动检索包括密码在内的设置。

我正在寻找的是 2 个脚本:一个将所有无线设置(至少是 SSID 和安全类型/密码)提取到一个文本格式文件中(XML 可以),以便我可以对其进行编辑和润色。另一个(不出所料)将它们写回(在新机器上)。

欢迎任何指点!

澄清:我不想在无线世界中窥探密码,只是为了简化记录和分发已存储在一台机器上的内容的过程。

stw*_*sel 3

事实证明,简单的复制操作就足够了!通过对askUbuntu 进行更多的窥探,发现所有网络连接都存储在 中/etc/NetworkManager/system-connections/,因此我只需要使用我选择的任何分发方法复制它们(需要root 访问权限)。

要记录设置(我们喜欢电子表格),可以使用一个简单的脚本(需要一点帮助即可解决):

#!/bin/bash
#Document wifi passwords
echo ssid,password > knownwifi.csv
for f in /etc/NetworkManager/system-connections/*
   do
      ssid=$(awk -F= '$1=="ssid" {print $2}' "$f")
      pwd=$(   awk -F= '$1=="psk"    {print $2}' "$f")
      #We are only interested in password protected Wifi
      if [ x$pwd != 'x' ]
         then
           echo "$ssid,$pwd"
      fi
   done >> knownwifi.csv
echo done
Run Code Online (Sandbox Code Playgroud)

您需要以 root 身份运行该脚本,并且可能希望从连接设置中添加其他值。在您选择的电子表格中很好地打开