Como se conectar a um WiFi a partir da linha de comando no Ubuntu sem o arquivo .conf?

10

Eu posso me conectar ao meu WiFi fora do shell fazendo:

nano wireless-wpa.conf

digitando:

ctrl_interface=/var/run/wpa_supplicant

network={
ssid="my_router_id" 
scan_ssid=1
key_mgmt=WPA-PSK
psk="1234567890"
}

e fazendo:

ifconfig eth1 down
iwconfig eth1 mode Managed
ifconfig eth1 up
killall wpa_supplicant
wpa_supplicant -B -Dwext -i eth1 -c ./wireless-wpa.conf -dd
dhclient eth1

Muito complicado .. Existe a possibilidade de se conectar a um WiFI via shell sem a necessidade de um wireless-wpa.conf ?

JohnnyFromBF
fonte
Ter um script que escrevesse o arquivo .conf em tempo real e estabelecesse a conexão de rede seria suficiente?
Paul
Na verdade, eu estava procurando uma solução completamente diferente, porque eu mesmo poderia escrever um script bash.
JohnnyFromBF

Respostas:

15

Você pode controlar um wpa_supplicant em execução usando sua interface de controle, que você já especifica em seu arquivo .conf. Embora isso ainda precise de um arquivo .conf, você não precisa colocar nenhuma rede sem fio e não precisa alterá-lo. Você pode configurá-lo com wpa_cli.

wpa_cli pode ser necessário saber qual instância e interface do wpa_supplicant configurar:

wpa_cli -p /var/run/wpa_supplicant -i wlan0 command ...

Para maior clareza, vou usar wpa_cliaqui. Basicamente, você precisa criar uma rede, definir suas variáveis ​​e habilitá-la:

# wpa_cli add_network
4                                          <--- note the network ID!
# wpa_cli set_network 4 ssid '"Your SSID"'
OK
# wpa_cli set_network 4 scan_ssid 1
OK
# wpa_cli set_network 4 key_mgmt WPA-PSK
OK
# wpa_cli set_network 4 psk '"1234567890"' <--- note the single quotes around
OK
# wpa_cli enable_network 4
OK
Ambroz Bizjak
fonte
você pode querer começar com wpa_cli varredura seguido por scan_results wpa_cli para reunir o que estão disponíveis de SSID
sibaz
As aspas simples ao redor das strings me ajudaram, mas o que você faz quando há uma aspas simples no SSID? Não parece funcionar.
JDavis
O truque de aspas simples me ajudou. Como posso usar uma variável como essa psk=$3?
typelogic
0

Você quer um comando cli que gerencia seu wpa_suplicant-config? Já experimentou ifup, ifdowne ifcfg? Eles lidam com scripts de conexão e trabalham com wifi também, mas podem precisar de alguns ajustes.

micke
fonte