Ich habe mir kürzlich einen Brother ADS-2400N Dokumentenscanner günstig bei Kleinanzeigen geschossen. Damit möchte ich meinen Papierkram digitalisieren und bei Paperless-ngx ablegen, welches ich auf einem Mini-Server über Proxmox bei mir daheim hoste.
Wie aber kommen die Scans vom Gerät zu Paperless?
⚠️ HINWEIS: Damit das Ganze klappt, müssen teils veraltete und unsichere Protokolle auf eurem Server aktiviert werden. Euch muss klar sein, was das für Auswirkungen auf euer Setup hat. Trefft unbedingt Gegenmaßnahmen wie die beschriebene Firewall-Regel!
️ℹ️ INFO: Das Vorgehen wurde von einem Menschen entwickelt und validiert. KI kam nur als Assistent für Rechtschreibung, Satzbau und Grammatik zum Einsatz.
Da der Scanner mehr als 10 Jahre alt ist, ist das keine triviale Aufgabe. Zwar wird SFTP (verschlüsselter Dateitransfer über SSH) unterstützt, aber leider nur mit so alten Parametern, dass ein Verbindungsaufbau zu modernen Servern von Haus aus scheitert.
Idee: Der Scanner kopiert den Scan auf einen eigens dafür vorgesehenen Server (bei mir ein Debian LXC auf Proxmox). Dort läuft ein Skript, das neue Dateien per API zum Import an Paperless-ngx sendet. Es geht garantiert auch ohne zusätzlichen Server, aber dieses Setup ist mir lieber, da es die Verantwortlichkeiten klar trennt und den unsicheren Teil vom Rest des Systems isoliert.
Aber der Reihe nach.
Erster Schritt: Scanner Setup
Zuerst den Scanner starten, mit dem Netzwerk verbinden, die IP-Adresse ermitteln und die Weboberfläche
aufrufen. Das Standardpasswort für den Login lautet in der Regel initpass.

Zweiter Schritt: Verbindung zwischen Scanner und Server
Jetzt kommt der knifflige Teil. Wir wollen, dass sich der Scanner sicher per SFTP am Server anmeldet. Das geht am besten mit einem SSH-Schlüsselpaar.
- Der Scanner ist der Client, der sich am Server anmelden will.
- Der Server ist der Host, der die Anmeldung erlaubt.
Damit der Server dem Scanner vertraut, müssen wir dem Server den öffentlichen Schlüssel des Scanners bekannt machen.
1. Schlüsselpaar auf dem Scanner erstellen
In der Weboberfläche des Scanners richtet ihr ein SFTP-Profil ein. Dort gibt es eine Option, ein neues Client-Schlüsselpaar zu erstellen. Wählt hier RSA mit 2048 Bit.
Der Scanner generiert nun einen privaten und einen öffentlichen Schlüssel. Ladet diesen herunter:
publickey.pub. Er sieht in etwa so aus: ssh-rsa AAAA....

2. Öffentlichen Schlüssel auf dem Server hinterlegen
Verbindet euch nun mit eurem Server. Dort müsst ihr den eben erstellten öffentlichen Schlüssel des Scanners
in die Datei ~/.ssh/authorized_keys eintragen. Diese Datei listet alle Schlüssel auf, denen der
Server vertraut. Ich mache das für den root-Benutzer, da der Scanner sich später als dieser
anmeldet.
# Erstellt das Verzeichnis, falls es nicht existiert
mkdir -p /root/.ssh
# Fügt den öffentlichen Schlüssel des Scanners in die Datei ein (ersetzt ... mit eurem Key)
echo "ssh-rsa AAAA..." >> /root/.ssh/authorized_keys
# WICHTIG: Setzt die richtigen Berechtigungen, sonst ignoriert SSH die Datei
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
Damit weiß der Server, dass sich der Scanner als root ohne Passwort anmelden darf.
3. Unsicherer SSH-Server
Ein moderner SSH-Server wird die Verbindungsanfrage des Scanners mit einer Fehlermeldung ablehnen, weil die verwendeten Verschlüsselungsalgorithmen veraltet sind.
Damit wir unseren Haupt-SSH-Server nicht unnötig unsicher machen, starten wir einen zweiten, separaten SSH-Server auf einem anderen Port (z.B. 2222), der speziell für den Scanner konfiguriert ist.
1. Die Konfigurationsdatei erstellen
Erstellt eine neue Konfigurationsdatei, z.B. unter /etc/ssh/sshd_config_scanner.
# /etc/ssh/sshd_config_scanner
# Eigener Port, um Konflikte zu vermeiden
Port 2222
Protocol 2
# Wir verwenden einen eigenen Host-Schlüssel, nur für diese Instanz
HostKey /etc/ssh/ssh_host_rsa_key_scanner
# Nur Root-Login erlauben, und das auch nur von der IP des Scanners
# Ersetzt 10.10.0.192 durch die IP eures Scanners
PermitRootLogin yes
AllowUsers root@10.10.0.192
# Erzwinge alte Algorithmen, die der Scanner (OpenSSH 6.0) versteht
KexAlgorithms diffie-hellman-group14-sha1
Ciphers aes128-cbc,aes256-cbc,3des-cbc
MACs hmac-sha1
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
# Standard-Einstellungen für SFTP
PubkeyAuthentication yes
AuthorizedKeysFile /root/.ssh/authorized_keys
Subsystem sftp /usr/lib/openssh/sftp-server -l DEBUG3
2. Den passenden Host-Schlüssel generieren In der Konfiguration haben wir einen eigenen Host-Schlüssel referenziert. Den müssen wir noch erstellen – ebenfalls im alten RSA-Format.
ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key_scanner -N ""
3. Den Dienst mit Systemd automatisieren
Damit unser zweiter SSH-Server immer läuft, erstellen wir einen Systemd-Service. Legt dazu die Datei
/etc/systemd/system/sshd_scanner.service an.
# /etc/systemd/system/sshd_scanner.service
[Unit]
Description=Insecure Legacy SSHD for Brother Scanner
After=network.target
[Service]
ExecStart=/usr/sbin/sshd -D -f /etc/ssh/sshd_config_scanner
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
Jetzt müssen wir Systemd nur noch beibringen, dass es den neuen Dienst laden, aktivieren und starten soll:
# Systemd die neuen Konfigurationen einlesen lassen
systemctl daemon-reload
# Dienst aktivieren (startet automatisch beim Boot) und sofort starten
systemctl enable --now sshd_scanner.service
# Status prüfen
systemctl status sshd_scanner.service
4. Optional: Zugriff mit Firewall weiter einschränken
Unser unsicherer SSH-Server läuft. Damit aber wirklich nur der Scanner darauf zugreifen
kann, brauchen wir eine Firewall. Ich verwende hier ufw (Uncomplicated Firewall), da sie
einfach zu bedienen ist.
# UFW installieren, falls noch nicht geschehen
apt-get update && apt-get install ufw -y
# Erlaube normalen SSH-Zugriff für dich selbst (wichtig, um sich nicht auszusperren!)
ufw allow ssh
# Erlaube dem Scanner den Zugriff auf den neuen Port 2222
# Ersetzt 10.10.0.192 durch die IP eures Scanners!
ufw allow from 10.10.0.192 to any port 2222 proto tcp comment 'Brother Scanner SFTP'
# Firewall aktivieren und Status prüfen
ufw enable
ufw status verbose
Die Firewall-Regel sorgt dafür, dass die schwache SSH-Konfiguration nicht aus dem restlichen Netzwerk angreifbar ist.
5. Alles zusammenfügen
Zurück zur Weboberfläche des Scanners. Tragt nun im SFTP-Profil die Verbindungsdaten ein:
- Server-Adresse: Die IP eures Servers
- Benutzername:
root - Authentifizierungsmethode:
Public Key - Zielordner: z.B.
scans(dieses Verzeichnis auf dem Server erstellen!) - Port:
2222 - Weitere Einstellungen je nachdem, was ihr vorhabt.

Nun Speichern ("Senden"), Verbindung testen und wenn alles geklappt hat, solltet ihr eine Erfolgsmeldung sehen.
Ausblick
Der Scanner kann die Dokumente nun auf euren Server speichern. Der nächste Schritt ist, ein
kleines Skript zu schreiben, das dieses Verzeichnis mit inotifywait überwacht und jede neue Datei automatisch an die
Paperless-ngx API sendet. Dazu gibt es einen zweiten Beitrag.
Happy Scanning!