Dieser Artikel gilt nur für AOS Release 6 (z.B. 6.4.6.R01 und 6.7.1.R0x). AOS Release 7/8 basieren auf Linux und zeigen die hier beschriebenen Fehlerbilder nicht.
Beim Versuch sich auf einem OmniSwitch mit AOS Release 6 per SSH anzumelden, kann es zu verschiedenen Fehlermeldungen kommen (abhängig vom Versionsstand des OpenSSH Clients und dessen Konfiguration).
Dies hängt mit den neuen (sichereren) Standardeinstellungen der ausgelieferten OpenSSH Clients zusammen (u.a. sind „ssh-dss“, „hmac-md5“ und „hmac-sha1“ deaktiviert.).
Es gibt verschiedene Wege diese Problematik zu beheben: Workaround oder nachhaltige Lösung (ASA Enhanced)!
Dies ist exemplarisch die Fehlermeldung, falls der OpenSSH Client „ssh-dss“ nicht zulässt. Der OmniSwitch verwendet standardmäßig einen DSA 1024 Host-Key.
Ab AOS 6.7.2.R01 verwendet der OmniSwitch standardmäßig einen ssh-rsa Key und die hier beschriebene Herausforderung tritt nicht mehr auf.
BennyE$ ssh admin@192.168.20.24 Unable to negotiate with 192.168.20.24 port 22: no matching host key type found. Their offer: ssh-dss
Achtung: Einige Anleitungen im Internet empfehlen diese Änderung in der /etc/ssh_config
unter host *
vorzunehmen, wodurch sie für alle Benutzer des Systems und Zielsysteme gilt. Ein granularer Ansatz für einzelne Komponenten/Switches (wie hier beschrieben) ist dem globalgalaktischen Ansatz vorzuziehen!
BennyE$ cat .ssh/config Host 192.168.20.24 HostKeyAlgorithms ssh-dss # hmac-sha2-256 sicherstes Verfahren MACs hmac-sha2-256,hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96
In den meisten Fällen ist es besser AOS >= 6.7.2.R01 einzusetzen um die Fehlermeldung bzgl. ssh-dss zu beheben. Der ASA-Enhanced Modus empfiehlt sich nur für sehr sicherheitskritische Bereiche.
Der nachhaltige Lösungsansatz sieht vor, dass der OmniSwitch im „ASA Enhanced“-Modus betrieben wird. Dadurch steht SSH mit RSA 2048 Host-Key zur Verfügung.
-> aaa switch-access mode enhanced
Weitere Details zu „ASA Enhanced“ sind hier nachzulesen: Wichtige Information zum "aaa switch-access mode enhanced"
Für den Fall dass es beim Verbindungsversuch die Corrupted MAC on input.
-Fehlermeldung gibt, dann sorgt folgender Eintrag in der ~/.ssh/config
für eine sichere SSH-Verbindung. (Der Fehler kommt vom umac-64@openssh.com MAC der in VxWorks offensichtlich Probleme macht!)
BennyE$ cat .ssh/config Host 192.168.20.24 # In diesem Fall ist es wichtig ssh-dss NICHT zu setzen, wir wollen ja die RSA 2048 Verbindung! #HostKeyAlgorithms ssh-dss MACs hmac-sha2-256,hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96
Auch das hier beschriebene Thema ist mit dem Einsatz von AOS >= 6.7.2.R01 behoben.
Dies ist exemplarisch die Fehlermeldung, falls der OpenSSH Client z.B. „hmac-md5“ oder „hmac-sha1“ nicht zulässt und deshalb „umac-64@openssh.com“ als MAC verwendet (was offensichtlich unter VxWorks nicht ordentlich funktioniert).
BennyE$ ssh admin@192.168.20.24 Corrupted MAC on input. Connection to 192.168.20.24 closed by remote host.
BennyE$ cat .ssh/config Host 192.168.20.24 # Folgende Zeile nur auskommentieren wenn OmniSwitch im ASA Default Modus laeuft! #HostKeyAlgorithms ssh-dss MACs hmac-sha2-256,hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96
Mit diesem Bash-Alias kann für einen lokalen Workaround für Einzelsysteme gesorgt werden. Der Verbindungsaufbau erfolgt dann mit Erlaubnis für hmac-sha1 und ssh-dss.
$ alias ssh-switch='ssh -m hmac-sha1 -oHostKeyAlgorithms=+ssh-dss'
BennyE$ cat .ssh/config Host 192.168.20.24 # Folgende Zeile nur auskommentieren wenn OmniSwitch im ASA Default Modus laeuft! #HostKeyAlgorithms ssh-dss MACs hmac-sha2-256,hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96 Host 192.168.20.25 # Folgende Zeile nur auskommentieren wenn OmniSwitch im ASA Default Modus laeuft! #HostKeyAlgorithms ssh-dss MACs hmac-sha2-256,hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96 Host 192.168.20.26 # Folgende Zeile nur auskommentieren wenn OmniSwitch im ASA Default Modus laeuft! #HostKeyAlgorithms ssh-dss MACs hmac-sha2-256,hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96
BennyE$ cat .ssh/config Host 192.168.20.* # Folgende Zeile nur auskommentieren wenn OmniSwitch im ASA Default Modus laeuft! #HostKeyAlgorithms ssh-dss MACs hmac-sha2-256,hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96
Zwischen macOS (Sierra) und einem ALE OmniSwitch mit AOS Release 6 kommt bei Verwendung von SCP zu folgender Fehlermeldung. Dies gilt auch für Windows mit z.B. WinSCP, allerdings schlägt hier der Verbindungsaufbau nach einiger Zeit ohne weitere Fehlermeldung fehl.
BennyE$ scp -v admin@192.168.20.24:/flash/switch/snmp.engine . admin's password for keyboard-interactive method: exec request failed on channel 0
Oft wird behauptet mit sftp könnte man die Datei nicht direkt herunterladen, was nicht korrekt ist. Folgendes Kommando führt analog den gleichen Befehl aus.
BennyE$ sftp admin@192.168.20.24:/flash/switch/snmp.engine . admin's password for keyboard-interactive method: Connected to 192.168.20.24. Fetching /flash/switch/snmp.engine to ./snmp.engine /flash/switch/snmp.engine 100% 20 0.0KB/s 00:00 Received disconnect from 192.168.20.24 port 22:2: ssh connection closed by server Disconnected from 192.168.20.24 port 22 BennyE$ BennyE$ hexdump -C snmp.engine 00000000 00 00 00 1a 00 0b 80 00 19 56 03 e8 e7 32 90 62 |.........V...2.b| 00000010 23 60 79 74 |#`yt| 00000014
Soll von lokal eine Datei auf dem OmniSwitch hochgeladen werden, dann kann dies wie folgt erledigt werden.
BennyE$ sftp admin@192.168.10.2:/flash/switch/ <<< $'put testdatei.txt' admin's password for keyboard-interactive method: Connected to 192.168.10.2. Changing to: /flash/switch/ sftp> put testdatei.txt Uploading testdatei.txt to /flash/switch/testdatei.txt testdatei.txt 100% 178KB 67.1KB/s 00:02 Received disconnect from 192.168.10.2 port 22:2: ssh connection closed by server Disconnected from 192.168.10.2 port 22