So stellen Sie über nmcli eine Verbindung zu einem drahtlosen 802.1x-Netzwerk her

11

Ich kann über das nm-Applet eine Verbindung zu 802.1-Netzwerken herstellen. Ich mache das nicht gerne, da ich die meiste Zeit ohne nm laufe und ich es hassen würde, einen zu laden, nur um eine Verbindung zu einem drahtlosen Netzwerk herzustellen.

Beim Herstellen einer Verbindung zu einem 802.1-Netzwerk wird die folgende Fehlermeldung angezeigt:

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

Ich weiß nicht, wie ich das umgehen soll, da nmcli anscheinend keine Möglichkeit bietet, den Netzwerktyp anzugeben.

Tensai
quelle
Wird diese Fehlermeldung angezeigt, wenn Sie versuchen, ein neues Verbindungsprofil zu erstellen?
Rabin
@Rabin Dies ist eine neue Verbindung. Ich habe nicht versucht, ein neues Profil zu erstellen oder zu verstehen, in welchem ​​Kontext Sie ein neues Verbindungsprofil verwenden. Ich habe einfach versucht, eine Verbindung mit nmcli d wifi connect eduroam
herzustellen
Ich verwende ein Skript, das nmcli so aufruft nmcli con up 'connection-uuid', aber ich muss diese Verbindung zuerst in meinem NetworkManager haben.
Rabin
Ja, das war mein Problem. Wie mache ich das, wenn ich noch keine Verbindung zum Netzwerk hergestellt habe? Es gibt viele Situationen, in denen ich keine Benutzeroberfläche starten kann. Ich habe mich mit dieser Art von Netzwerken verbunden, bevor ich wpa-suppicant verwendet und die Konfigurationsdateien manuell konfiguriert habe
Tensai
Wie @tensai sagte, kann es sinnvoll sein, manuell mit nmcli con editBefehl zu konfigurieren .
FeverDream

Antworten:

15

Sie können eine WPA2 Enterprise-Verbindung über eine nmcliBefehlszeile wie (ersetzen Sie Ihren eigenen WLAN-Gerätenamen wlp3s0usw.) erstellen :

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

Es wird dann unter aufgelistet nmcli connectionund kann mit aufgerufen werden nmcli connection up MySSID.

Authentifizierung mit einem Benutzernamen und einem Passwort

(Dieser Abschnitt wurde von einem Mitwirkenden, der den Beitrag bearbeitet, hilfreich hinzugefügt :)

Wenn Sie einen Benutzernamen / ein Kennwortauthentifizierung verwenden (wahrscheinlich über RADIUS), können Sie ihn mit dem folgenden Befehl hinzufügen (verwenden Sie die richtige 802-1x.eapOption für Ihr Netzwerk, für das folgende Beispiel ttlsmuss kein Zertifikat definiert werden) und dann verwenden --askWenn Sie zum ersten Mal eine Verbindung herstellen, speichern Sie das Kennwort in der Verbindungsdatei.

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" 

Wenn Sie die Option Benutzername / Passwort verwenden, sollten Sie diese --asknach nmclidem ersten Aufrufen hinzufügen , um das Passwort zu speichern, ohne es in Ihrem Befehlsverlauf zu belassen. Sie erhalten eine Fehlermeldung, die genau dies angibt, wenn Sie versuchen, sie anderweitig aufzurufen. Bei der Verwendung werden Sie wahrscheinlich zu zusätzlichen WLAN-Einstellungen aufgefordert. --askSie können nodiese eingeben, es sei denn, Sie müssen eine statische IP-Adresse angeben. In diesem Fall antworten Sie yesauf diese Option und legen die richtigen Informationen fest. In Zukunft sollten Sie diese nicht mehr verwenden müssen --askes sei denn, Ihr Passwort ändert sich.

Nmcli auf eigene Faust erkunden

Im Allgemeinen kann der Raum möglicher nmcliEinstellungen untersucht werden, indem die Wörter asdf.asdf asdfam Ende der Befehlszeile hinzugefügt werden, um eine Fehlermeldung zu erhalten, die angibt, welche Wörter mögliche Ersetzungen für die ersten sind asdf. Wählen Sie eine aus, und Sie erhalten eine Fehlermeldung mit den möglichen Untereinstellungen für die zweite asdf. Wählen Sie eine davon aus, und Sie sehen die möglichen Einstellungen:

$ 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].

Durch Durchlaufen aller Untereinstellungen konnte ich die oben gezeigte erfolgreiche Befehlszeile zusammenfügen. Die einzige Überraschung war, dass das Passwort vor dem Pfad des privaten Schlüssels stehen muss - wenn Sie das Passwort später eingeben, hat es keine Auswirkung!

Brandon Rhodes
quelle
7

nmcli Wifi

Holen Sie sich Wifi-Status

nmcli radio wifi

Schalten Sie WLAN ein oder aus

nmcli radio wifi <on|off>

Liste der verfügbaren Access Points (AP) auf, zu denen eine Verbindung hergestellt werden soll

nmcli device wifi list

Vorherige Liste aktualisieren

nmcli device wifi rescan

Erstellen Sie eine neue Verbindung zu einem offenen AP

nmcli device wifi connect <SSID|BSSID>

Erstellen Sie eine neue Verbindung zu einem kennwortgeschützten AP

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

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

Rabin
quelle
1
Ich kenne alle diese Optionen :( Keine von ihnen scheint jedoch für 802.1X-Netzwerke anwendbar zu sein. Sicherlich wird dies irgendwie erklärt, da ich über das Applet eine Verbindung herstellen kann.
Tensai
@tensai, ich habe das gleiche Problem: "Fehler: Fehler beim Hinzufügen / Aktivieren einer neuen Verbindung: (32) 802-11-wireless-security.psk: Eigenschaft ist ungültig"
tslater
@tensai, was kannst du in der Ausgabe von sehen journalctl?
Rabin
Nichts in dieser Antwort hat irgendeine Relevanz für 802.1X. Es fällt mir schwer zu sehen, wie wichtig es für die Frage ist.
Charles Duffy
6

NetworkManager kann WPA2 Enterprise-Profile mit grafischen Frontends generieren. nmcli und unterstützen  nmtui dies nicht, können jedoch vorhandene Profile verwenden.

Weitere Informationen zur Verbindung mit WPA2_Enterprise-Netzwerken

hrust
quelle
nmclierlaubt keine komplexen Passwörter mit Sonderzeichen; jedoch nmtuiermöglicht dies und vieles mehr :) --Thank Sie @hurst
Achilles
2

Es scheint, dass nmcli keine Verbindung zu WPA2-Unternehmensnetzwerken herstellen kann. Die Netzwerke müssen entweder manuell konfiguriert oder über die verschiedenen Applets erstellt werden.

Tensai
quelle