Inhaltsverzeichnis
Dokumentation: DATEV Smart Token Weiterleitung (Linux zu Windows via RDP)
Diese Dokumentation beschreibt die Lösung für das Problem, bei dem ein USB-basierter DATEV-Identity-Token unter Linux nicht an eine Windows-Umgebung via RDP durchgereicht werden konnte.
Zielumgebung:
- Client: CachyOS (Arch Linux) mit
xfreerdp3 - Ziele (Targets): Windows 11 Notebook / Windows 11 Proxmox VM
- Hardware: Kobil Systems GmbH Smart Token (ID 0d46:3014)
1. Problemstellung
Der Kobil Smart Token wurde beim Einstecken am Linux-Client zwar via lsusb erkannt, konnte jedoch nicht erfolgreich in die Windows-Remotesitzung übergeben werden. Die DATEV-Software auf dem Zielsystem erkannte den Stick nicht.
Symptome und Fehlermeldungen im xfreerdp3-Log:
- Fehlender Windows-Dienst:
[ERROR][com.freerdp.utils.smartcard.call] - SCardEstablishContext failed with error SCARD_E_NO_SERVICE [-2146435043]
- Kein lokaler Linux-Reader aktiv:
[INFO][com.freerdp.utils.smartcard.call] - SCardListReadersW failed with error SCARD_E_NO_READERS_AVAILABLE [-2146435026]
2. Ursachenanalyse
- Generischer USB-Filter vs. Smartcard-Kanal: Der Versuch, das Gerät als rohes USB-Gerät (via
/usb:id…ohne Root-Rechte) weiterzuleiten, kollidierte mit der Funktionsweise von Smartcards unter RDP. Smartcards müssen über den nativen RDP-Kanal (/smartcard) getunnelt werden. - Inaktive Windows-Schnittstelle: Der Windows-Dienst für Smartcards lief auf dem Zielsystem nicht.
- Fehlende Linux-Infrastruktur: Auf dem CachyOS-Client war der PC/SC-Dienst (Smartcard-Daemon) nicht vollständig installiert und konfiguriert.
- Windows-Sicherheitsrichtlinie: Die Gruppenrichtlinien (GPO) von Windows blockierten die Smartcard-Umleitung für RDP-Sitzungen.
3. Lösungsschritte
Schritt 3.1: Konfiguration des Linux-Clients (CachyOS)
Die Smartcard-Middleware und Treiber müssen lokal installiert und gestartet werden, damit Linux den Token als Krypto-Gerät verwaltet:
# 1. Benötigte Pakete via pacman installieren sudo pacman -S pcsclite ccid pcsc-tools # 2. Hintergrunddienste aktivieren und sofort starten sudo systemctl daemon-reload sudo systemctl enable --now pcscd.socket sudo systemctl enable --now pcscd.service
Funktionstest unter Linux:
Der Befehl pcsc_scan muss den Stick fehlerfrei als KOBIL Systems Smart Token mit eingelegter Karte (Card inserted) auflisten.
Schritt 3.2: Konfiguration des Windows-Ziels (Notebook / VM)
Auf dem Windows 11 Zielsystem (bzw. in der Proxmox VM) müssen folgende Anpassungen vorgenommen werden:
- Dienste einrichten: Öffnen Sie
services.msc. Stellen Sie die Dienste Smartcard und Smartcard-Geräteaufzählungsdienst auf den Starttyp Automatisch und starten Sie diese. - Gruppenrichtlinie (GPO) anpassen: Öffnen Sie
gpedit.mscund navigieren Sie zu:
Computerkonfiguration → Administrative Vorlagen → Windows-Komponenten → Remotedesktopdienste → Remotedesktopsitzungs-Host → Geräte- und Ressourcenumleitung.
\\ Setzen Sie den Eintrag **"Keine Geräteumleitung für Smartcards zulassen"** explizit auf **Deaktiviert**. - **Neustart:** Starten Sie das Windows-System neu. - **DATEV:** Installieren Sie das ''DATEV Sicherheitspaket (Sipacompact)''.
Schritt 3.3: Verbindungsaufbau via xfreerdp3
Die Remotesitzung wird als normaler Benutzer (ohne sudo) mit dem nativen /smartcard-Parameter gestartet. Auf den generischen /usb-Filter wird verzichtet.
xfreerdp3 /v:nb005.fritz.box /u:hwehrs /p:'IHR_PASSWORT' /cert:ignore +home-drive /audio-mode:0 /kbd:layout:0x407,lang:0x407 /floatbar /drive:D,/mnt /gfx:AVC420:on /network:lan /microphone /dvc:rdpecam +video /smartcard -decorations /workarea
Hinweis für DATEV-Initialisierung: Sollte der Stick nach dem Verbindungsaufbau in der Sitzung nicht sofort grün leuchten, in der Windows-Taskleiste auf das DATEV-Symbol klicken, die Diagnose öffnen und FixPCSC ausführen.
4. Systemarchitektur & Datenfluss
Der folgende Graph veranschaulicht, wie der Token über die verschiedenen Schichten vom Linux-USB-Port bis in die Windows-DATEV-Software getunnelt wird:
