Я должен записать сценарий оболочки, который соединяется с одним из двух доступных соединений Wi-Fi. Каждый - безопасное соединение ООН, и другой безопасное соединение. Мой вопрос имеет 2 части -
Как подключить к небезопасному (незашифрованный и никакой требуемый пароль) соединение от командной строки (или путем выполнения сценария оболочки), когда я подключен к безопасному соединению?
Я выполнил шаги в http://www.ubuntugeek.com/how-to-troubleshoot-wireless-network-connection-in-ubuntu.html для небезопасного соединения. Я поместил все команды в сценарий и выполнил его (я удостоверился, что имя интерфейса и essid корректны),
sudo dhclient -r wlan0
sudo ifconfig wlan0 up
sudo iwconfig wlan0 essid "UAPublic"
sudo iwconfig wlan0 mode Managed
sudo dhclient wlan0
Но ничего не происходит: я не отключен от текущей сети и подключен к новой.
Когда я хочу соединиться с безопасной сетью Wi-Fi, я понимаю от https://askubuntu.com/a/138476/70665, что я должен использовать wpa_supplicant
. Но я ввожу много деталей в интерфейсе, когда я соединяюсь через UI
Как использовать wpa_supplicant для упоминания всех этих деталей в командной строке? conf файл
network={
ssid="ssid_name"
psk="password"
}
не работает на меня.
Я предполагаю, что Вы используете Рабочий стол Ubuntu, поскольку Вы не указывали иначе.
Можно создать конфигурацию беспроводной сети, которой будет управлять Администратор сети путем создания файлов в /etc/NetworkManager/system-connections
. Взгляд на существующие файлы, чтобы видеть, как формат похож.
После того как соединение создается, можно использовать nmcli
команда для управления NetworkManager из командной строки, делая вещи, такие как включение, отключение и запросы соединений.
Кстати, инструмент System Testing (флажок) имеет сценарий, который делает точно это: создает соединение и включает его, с параметрами, которые Вы предоставляете на командной строке.
Например, это создает соединение с открытой "утиной" сетью:
sudo /usr/share/checkbox/scripts/create_connection duck
Это создаст соединение с сетью с помощью безопасности WPA2 с паролем "крыльев":
sudo /usr/share/checkbox/scripts/create_connection -S wpa -K wings duck
Сценарий записан в Python, таким образом, для Вас должно быть легко посмотреть на и адаптироваться к Вашим потребностям.
Справка сценария говорит это:
Usage: create_connection [options] SSID
Options:
-h, --help show this help message and exit
-S SECURITY, --security=SECURITY
The type of security to be used by the connection.
One of wpa and wep. No security will be used if
nothing is specified.
-K KEY, --key=KEY The encryption key required by the router.
-U UUID, --uuid=UUID The uuid to assign to the connection for use by
NetworkManager. One will be generated if not
specified here.
-R RETRIES, --retries=RETRIES
The number of times to attempt bringing up the
connection until it is confirmed as active.
-I INTERVAL, --interval=INTERVAL
The time to wait between attempts to detect the
registration of the connection.