Skip to content

Latest commit

 

History

History
64 lines (51 loc) · 3.25 KB

README.md

File metadata and controls

64 lines (51 loc) · 3.25 KB

easyroam-linux

Setup eduroam with easyroam on unsupported linux devices.

Motivation

German universities (as of the time of writing) are switching from the official eduroam client to easyroam by DFN in october 2024. Since I needed to set up Wi-Fi on my Fedora notebook, I tried to follow their guide but quickly realized that they only officially provide a .deb client for Debian-based distributions and porting the file with alien did not work.

So, I sent an email asking for an .rpm package, and they responded with:

[...] uns ist es leider nicht möglich die easyroam app für RHEL/Fedora basierte Distros (.rpm Package) und/oder für die vielen anderen proprietären Linux Derivate zur Verfügung zu stellen. Das wird uns leider niemals gelingen.

which roughly translates to: no, never.

I started following their guide for a manual setup with NetworkManager but realized that they assume you can only use NetworkManager on Debian, which is not always the case. So, here are two small scripts to make your life easier: one for extracting certificate and key files from a PKCS#12 (.p12) bundle file, and another for directly setting up easyroam/eduroam on Fedora (and possibly other distributions as well).

Currently, the direct setup has been tested only on Fedora with NetworkManager, but I can extend support to other distributions and other network managers if there is interest.

Usage

Step 1: Obtaining certificate

  1. Open https://www.easyroam.de
  2. Search for your university and log in
  3. Navigate to Generate profile
  4. Select manual options, choose PKCS12 and enter your device name
  5. Download the file by clicking on the Generate profile button

Step 2: Download

Network Manager

Install easyroam/eduroam on distributions using NetworkManager

Warning

Tested only on Fedora Workstation 40

Note

For immutable distributions like Fedora Atomic Desktops, refer to C-3PK's fork

Tip

To remove the generated configuration, delete the file /etc/NetworkManager/system-connections/easyroam.nmconnection
or run: nmcli connection delete easyroam

curl -o easyroam.sh https://raw.githubusercontent.com/jahtz/easyroam-linux/main/easyroam_nm.sh

Manual

This script unpacks the PKCS12 (.p12) file for manual configuration

Tip

After unpacking, you can follow the official DNF guides for:

curl -o easyroam.sh https://raw.githubusercontent.com/jahtz/easyroam-linux/main/easyroam_cert.sh

Resulting files:

  • easyroam_root_ca.pem → CA certificate
  • easyroam_client_cert.pem → User certificate
  • easyroam_client_key.pem → Private key

Step 3: Run script

  1. Make the script executable:
    chmod +x easyroam.sh
    
  2. Run the setup:
    ./easyroam.sh