macOS – No matching cipher found beheben

Vor einigen Tagen hat Apple das Update auf macOS 10.13.2 freigegeben. Nach diesem Update konnte ich keine SSH-Verbindungen aufbauen, jeder Versuch wurde mit der folgenden Fehlermeldung quittiert:

Unable to negotiate with x.x.x.x port 22: no matching key exchange found. Their offer diffie-hellman-group1-sha1

Nach einer kurzen Recherche wurde ich fündig, Apple kann man hier keinen Vorwurf machen, es liegt allein an OpenSSH. Mit dem Update von macOS wurde das OpenSource-Tool OpenSSH auf Version 7.6p1 aktualisiert.

In dieser Version wurde der SHA1-Algorithmus per default abgeschaltet (aber nicht entfernt), da er potentiell als unsicher eingestuft wird.

Der Server, mit dem ich mich verbinden will, versteht quasi nur SHA1 (Schande über den Admin!).

Mit einigen Handgriffen kann man dieses Feature reaktivieren. Es sollte nur als Übergangslösung dienen, bis die SSH-Server auf einen aktuelleren, sicheren Algorithmus umgestellt wurden.

Zuerst muss das Terminal gestartet werden und folgende Datei zur Bearbeitung geöffnet werden:

sudo nano /etc/ssh/ssh_config

Suche jetzt jeweils die Zeile und entferne die Raute # am Anfang:

# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc

Füge am Ende der Datei noch folgenden Zeilen ein:

HostkeyAlgorithms ssh-dss,ssh-rsaKexAlgorithms +diffie-hellman-group1-sha1
KexAlgorithms +diffie-hellman-group1-sha1

Verlasse den Texteditor nano mit dem Shortcut ctrl + X sowie Y als Bestätigung zum Überschreiben der vorhandenen Datei.

Es ist kein Reboot erforderlich, SSH-Verbindungen sollten ab sofort wieder wie gewohnt funktionieren.

War der Beitrag hilfreich?

Eine Antwort zu „macOS – No matching cipher found beheben“

  1. Heiko

    Grundsätzlich hilft es auch, diese Zeilen in der Datei ~/.ssh/config zu speichern. Dann gilt es halt nur für den Benutzer. Aber wer hat schon mehr als zwei Konten?

Schreibe einen Kommentar zu Heiko

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert