Como conectar-se a uma rede sem fio 802.1x via nmcli

11

Consigo conectar-me a redes 802.1 através do miniaplicativo nm. Eu não gosto de fazer isso porque estou correndo sem um nm na maioria das vezes e eu odiaria carregar um apenas para conectar a uma rede sem fio.

Ao conectar-me a uma rede 802.1, recebo o seguinte erro:

Error: Failed to add/activate new connection: (32) Failed to determine AP security information

Não sei como contornar isso, pois o nmcli não parece fornecer nenhum meio de especificar o tipo de rede.

tensai
fonte
você está recebendo essa mensagem de erro ao tentar criar um novo perfil de conexão?
Rabin
@ Rabin Esta é uma nova conexão. Eu não estava tentando fazer um novo perfil, ou entender o que contexto você estiver usando o novo perfil de conexão em que eu estava simplesmente tentando conectar a ele usando nmcli d wi-fi eduroam connect ......
tensai
Eu uso um script que chama nmcli assim nmcli con up 'connection-uuid', mas devo ter essa conexão no meu NetworkManager primeiro.
Rabin
Sim, este foi o meu problema. Se eu não estiver conectado à rede antes, como faço para fazê-lo. Existem muitas situações em que não consigo iniciar uma interface do usuário. Tenho ligado a este tipo de redes antes de usar WPA-suplicante e configurar os arquivos de configuração manualmente
tensai
Como o @tensai disse, pode fazer sentido configurar manualmente usando o nmcli con editcomando
feverDream

Respostas:

15

Você pode criar uma conexão WPA2 Enterprise usando uma nmclilinha de comando como (substitua o nome do seu dispositivo wifi wlp3s0e assim por diante):

nmcli connection add \
 type wifi con-name "MySSID" ifname wlp3s0 ssid "MySSID" -- \
 wifi-sec.key-mgmt wpa-eap 802-1x.eap tls 802-1x.identity "USERNAME" \
 802-1x.ca-cert ~/ca.pem 802-1x.client-cert ~/cert.pem \
 802-1x.private-key-password "..." 802-1x.private-key ~/key.pem

Ele será listado em nmcli connectione pode ser exibido usando nmcli connection up MySSID.

Autenticando com um nome de usuário e senha

(Esta seção foi útil para adicionar um colaborador que editou a postagem :)

Ou, se você usa um nome de usuário / senha auth (provavelmente via RADIUS), pode usar o comando abaixo para adicioná-lo (use a 802-1x.eapopção correta para sua rede, o exemplo a ttlsseguir não exige que um certificado seja definido) e use --askna primeira vez em que você se conectar, salve a senha no arquivo de conexão.

nmcli connection add \
 type wifi con-name "MySSID" ifname wlp3s0 ssid "MySSID" -- \
 wifi-sec.key-mgmt wpa-eap 802-1x.eap ttls \
 802-1x.phase2-auth mschapv2 802-1x.identity "USERNAME" 

Se estiver usando a opção de nome de usuário / senha, você deve adicionar --askapós nmclia primeira vez que a abrir, para salvar a senha sem deixá-la no histórico de comandos. Ele exibirá uma mensagem de erro dizendo isso quando você tentar trazê-lo de outra forma. Você provavelmente será solicitado sobre configurações sem fio adicionais ao usá- --asklo. Você pode digitá no-las, a menos que precise especificar um IP estático. yesNesse caso, responda a essa opção e defina as informações corretas e, no futuro, não precisará usar --aska menos que sua senha seja alterada.

Explorando o nmcli por conta própria

Em geral, o espaço de nmcliconfigurações possíveis pode ser explorado adicionando as palavras asdf.asdf asdfao final da linha de comando para produzir uma mensagem de erro informando quais palavras são possíveis substituições pela primeira asdf. Escolha uma e você receberá uma mensagem de erro listando as possíveis subconfigurações para a segunda asdf. Escolha um desses e você verá as configurações possíveis:

$ nmcli connection add ... asdf.asdf asdf
Error: invalid or not allowed setting 'asdf': 'asdf' not among [connection, 802-11-wireless (wifi), 802-11-wireless-security (wifi-sec), 802-1x, ipv4, ipv6].
$ nmcli connection add ... wifi-sec.asdf asdf
Error: invalid property 'asdf': 'asdf' not among [key-mgmt, wep-tx-keyidx, auth-alg, proto, pairwise, group, leap-username, wep-key0, wep-key1, wep-key2, wep-key3, wep-key-flags, wep-key-type, psk, psk-flags, leap-password, leap-password-flags].
$ nmcli connection add ... wifi-sec.proto asdf
Error: failed to modify wifi-sec.proto: 'asdf' not among [wpa, rsn].

Ao percorrer todas as subconfigurações, consegui reunir a linha de comando bem-sucedida mostrada acima. A única surpresa foi que a senha deve preceder o caminho da chave privada - se você colocar a senha posteriormente, ela não terá efeito!

Brandon Rhodes
fonte
7

nmcli Wifi

Obter status Wifi

nmcli radio wifi

Ativar ou desativar o wifi

nmcli radio wifi <on|off>

Listar pontos de acesso disponíveis (AP) aos quais se conectar

nmcli device wifi list

Atualizar lista anterior

nmcli device wifi rescan

Crie uma nova conexão para um AP aberto

nmcli device wifi connect <SSID|BSSID>

Crie uma nova conexão com um AP protegido por senha

nmcli device wifi connect <SSID|BSSID> password <password>

fonte: http://fedoraproject.org/wiki/Networking/CLI#Wifi

Rabin
fonte
1
Eu sei que todas essas opções :( Nenhum deles parece aplicável para 802.1X redes embora Certamente esta é contabilizado de alguma forma desde que eu posso ligar através do applet..
tensai
@tensai, estou tendo o mesmo problema: "Erro: falha ao adicionar / ativar nova conexão: (32) 802-11-wireless-security.psk: a propriedade é inválida"
tslater
@tensai, o que você pode ver na saída de journalctl?
Rabin
Nada nesta resposta tem qualquer relevância para o 802.1X. Estou com dificuldade para ver como isso é relevante para a questão.
Charles Duffy
6

NetworkManager pode gerar perfis WPA2 Enterprise com front-ends gráficos. nmcli e  nmtui não suporta isso, mas pode usar perfis existentes.

Mais sobre a conexão com redes WPA2_Enterprise

pressa
fonte
nmclinão permite senhas complexas contendo caracteres especiais; no entanto, nmtuipermite isso e muito mais :) - Obrigado @hurst
Achilles
2

Parece que o nmcli não consegue se conectar às redes corporativas WPA2. As redes devem ser configuradas manualmente ou criadas através dos vários applets.

tensai
fonte