Brother ADS 4700w

Brother Scanner ADS 4700w

Der Brother Scanner 4700w bietet SFTp für die Ablage der gescannten Dokumente an. Die Probleme sind vielfältig:

  • auf einem aktuellen ssh-Server unterscheinden sich die standardmäßig verfügbaren Algorithmen und
  • die Bezeichnung bzw. die Erklärung der Verwendung von Client- und Serverzertifikat ist dürftig. Womöglich liegt es an der Firmware (2.5.3), dass die angebotenen Algorithmen veraltet sind.

Erstens: ssh-Server

Das Log auf dem Server hilft weiter, auf dem Client, dem Scanner, gibt es keine Ausgabe.

# journalctl -xe 

Unable to negotiate with 192.168.1.47 port 59952: no matching host key type found. Their offer: ssh-rsa [preauth]

Im ssh-Server fehlt der Schlüssel-Algorithmus ssh-rsa. Man kann ihn in der config-Datei des ssh-Servers hinzufügen.

# /etc/ssh/sshd_config 

HostKeyAlgorithms [...],ssh-rsa

# systemctl restart sshd.service 

Zudem fehlt ein passender MAC (message authentication code) Algorithmus.

# journalctl -xe 

Unable to negotiate with 192.168.178.48 port 41016: no matching MAC found. Their offer: hmac-sha2-256,
hmac-sha2-512,hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-ripemd160,
hmac-ripemd160 [at] openssh.com [preauth]

Es fehlt mindestens einer dieser obigen MACs (hash-based message authentication code) in der ssh-Server-config des Hosts.

# /etc/ssh/sshd_config

MACs [...],hmac-sha2-512

# systemctl restart sshd.service 

und - falls die Anmeldung des Scanners per Zertifikat gewünscht ist:

# /etc/ssh/sshd_config

PubkeyAuthentication yes 
PubkeyAcceptedKeyTypes=+ssh-rsa

# systemctl restart sshd.service 

Zweitens: Brother und Zertifikate

Im Scanner muss das Server-Zertifikat hinterlegt werden. Das öffentliche Server-Zertifikat findet man im config-Ordner des ssh-Servers

# /etc/ssh/

ssh_host_rsa_key.pub

Dies muss auf den Scanner hochgeladen werden. Falls es einen für den Scanner unverständlichen Algorithmus hat wie bspw. ed25519, dann gibt es eine Fehlermeldung nach dem Hochladen.

Zudem kann man die Anmeldung des Scanners am Server per ssh über eine Nutzer/Client-Zertifikat Kombination bewerkstelligen statt per Nutzer/Password Kombination. (Dazu wird der ) Dazu erstellt man auf dem Scanner ein Client-Zertifikat. Den öffentlichen Teil hiervon kann man auf den eigenen PC herunterladen und dann in der authorized_keys Datei des verwendeten Nutzers eintragen. Dazu eignet sich der ssh-copy-id Befehl oder alternativ per cat und ssh.

# ~/.ssh 
ssh-copy-id -p [PORT] -i ~/Downloads/publickey.pub NUTZER@192.168.1.1 
# oder 
cat ~USER/.../scanner_publickey.pub | ssh -p [PORT] USER@192.168.1.1 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Tags