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"