Kurztipp: no matching host key type found

Nach dem Upgrade auf Ubuntu 22.04. scheitert erneut der Zugriff per ssh auf eine VM mit einem Uralt-SCO-Unix, in diesem Falle mit folgender Fehlermeldung:

$ ssh vmsco
Unable to negotiate with 192.168.47.11 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
lost connection

Warum auch immer (bestimmt aus Sicherheitsgründen) übermittelt ssh den id_dsa.pub nicht mehr an den SSH-Server. Abhilfe:

Beim einmaligen Zugriff erweitert man den Aufruf von ssh/scp um eine Option:

$ ssh -oHostKeyAlgorithms=+ssh-dss vmsco

Um die Option dauerhaft zu setzen, packe man diese in die globale SSH-Konfiguration für den Namen und die IP-Adresse des SSH-Servers (die alten Optionen stammen noch aus dem älteren Tipp):

$ sudo vi /etc/ssh/ssh_config.d/vmsco.conf

Host vmsco
  HostKeyAlgorithms +ssh-dss
  KexAlgorithms +diffie-hellman-group1-sha1
  Ciphers +aes128-cbc

Host 192.168.47.11
  HostKeyAlgorithms +ssh-dss
  KexAlgorithms +diffie-hellman-group1-sha1
  Ciphers +aes128-cbc

Kurztipp: no matching key exchange method found

Noch eine kleine Begleiterscheinung die nach dem Upgrade auf Ubuntu 20.04 aufgetreten ist: Ein SSH zu einer VM mit einem Uralt-SCO-Unix scheitert mit folgender Fehlermeldung:

$ ssh vmsco
Unable to negotiate with 192.168.47.11 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1

Abhilfe: Für den Host und seine IP-Adresse die alten, mittlerweile als unsicher erachteten Verbindungsparameter aktivieren, die Ubuntu per Default nicht mehr verwendet:

$ sudo vi /etc/ssh/ssh_config.d/vmsco.conf

Host vmsco
  KexAlgorithms +diffie-hellman-group1-sha1
  Ciphers +aes128-cbc

Host 192.168.47.11
  KexAlgorithms +diffie-hellman-group1-sha1
  Ciphers +aes128-cbc

Links:

Kurztipp: SSH-Zugang zu Strato

Strato erklärt auf dieser Seite, wie man mittels PuTTY den SSH-Zugang nutzen kann. Versucht man in der Linux-Shell mittels Kommandozeilen-ssh zuzugreifen, erhält man ein lapidares…

$ ssh ssh.strato.de
Connection closed by 81.169.145.126

Auch ein „ssh -v“ gibt keine Hinweise, warum die Gegenseite direkt zu macht. Des Rätsels Lösung ist es, direkt den Benutzernamen zu übergeben, dann gelingt auch der Zugriff ohne PuTTY:

$ ssh www.foobar.xy@ssh.strato.de
www.foobar.xy@ssh.strato.de's password:

Anstelle „www.foobar.xy“ entsprechend den eigenen, bei Strato reservierten Domainnamen eintragen. Voilà.

SSH-Key hinterlegen

Wer mittels ssh-copy-id seinen SSH-Key hinterlegen möchte, wähle übrigens den RSA-Key. Der in seinem ~/.ssh lokal sowohl DSA als auch RSA verwendet, wähle

ssh-copy-id -i ~/.ssh/id_rsa.pub www.foobar.xy@ssh.strato.de

Und schwupps klappt auch ein SSH oder ein rsync ohne dauernde Passwort-Eingabe.