Behoben: Keine passende Schlüsselaustauschmethode gefunden

Wenn Sie versuchen, mit ssh Kontakt mit einem Remote-Server aufzunehmen, wird möglicherweise eine Fehlermeldung angezeigt, in der keine übereinstimmende Schlüsselaustauschmethode gefunden wird, bevor Sie einen Vorschlag dazu machen, welchen Verschlüsselungsalgorithmus Sie verwenden möchten. Sie können keine Verbindung zum Remote-Server herstellen, wenn der Fehler auftritt. Dieser Prozess kann sehr frustrierend sein, aber der Fehler ist so häufig, dass Unix-Typen häufig darüber sprechen, wie sie ihn erleben, und dieselben Ratschläge geben, um aus dem Wald herauszukommen.

Die folgenden Methoden zur Behebung des Fehlers wurden auf allen Funktionen von ssh getestet. Dieses Problem tritt jedoch höchstwahrscheinlich auf Unix- und Linux-Systemen auf. Sie sollten in der Lage sein, denselben Prozess zu verwenden, um ihn zu korrigieren, wenn Sie ssh unter Windows oder etwas Exotischem ausführen. Möglicherweise stellen Sie jedoch fest, dass die Schalteroptionen geringfügig abweichen.

Methode 1: Neukontaktieren des Servers und Wiederherstellen von Schlüsseln

Bevor Sie etwas anderes tun, stellen Sie sicher, dass Sie den Fehler reproduzieren können. Manchmal liegt diese Fehlermeldung nur daran, dass derzeit ein Remote-Dienst nicht ausgeführt wird, der möglicherweise in der Zwischenzeit korrigiert wurde. Während wir ssh in einer virtuellen Maschine ausgeführt haben, die die Verbindung zu einer gefälschten Serveradresse ermöglichte, die auf die von der Dokumentation genehmigte example.org festgelegt wurde, möchten Sie stattdessen eine echte Netzwerkadresse ersetzen.

Wenn Sie es weiterhin erhalten, versuchen Sie, die Schlüssel mit ssh-keygen -A an der Eingabeaufforderung neu zu generieren. Dadurch wird der Cache aktualisiert, mit dem die SSH-Anwendung eine Verbindung zum Remoteserver herstellt. Andernfalls möchten Sie möglicherweise versuchen, ssh neu zu starten, indem Sie den Dienst ssh restart ausführen und ihm einige Momente Zeit geben.

Sollten Sie weiterhin Probleme haben, bedeutet dies, dass Server und Client sich nie mit dem richtigen Protokoll abfinden konnten. OpenSSH implementiert eine schwindelerregende Reihe verschiedener Protokolle, deaktiviert jedoch einige dieser Protokolle, da bekannt ist, dass sie kompromittiert und daher unsicher sind. Sie möchten alle ssh-Pakete am Serverende der Gleichung aktualisieren. Stellen Sie daher sicher, dass der Systemadministrator weiß, was los ist. Wenn es sich um Ihren eigenen Server handelt, nehmen Sie sich einen Moment Zeit, um diese zu aktualisieren.

Wenn dies keine Option ist und Sie die Gefahren der Verwendung eines kompromittierten Algorithmus erkennen, gibt es eine clientseitige Möglichkeit, diese Fehlermeldung zu umgehen.

Methode 2: Aktivieren von Legacy-Optionen in OpenSSH

Sehen Sie sich an, was die Fehlermeldung nach den Worten “Ihr Angebot” lautet: Um zu sehen, welchen Algorithmus der Remote-Server bevorzugt. Während die meisten Systeme openssh7 verwenden sollten, wodurch die ältere veraltete Diffie-Hellman-Group1-Sha1-Technologie bereits deaktiviert wurde, werden Sie aufgefordert, Sha1 zu verwenden, wenn sie noch auf OpenSh6 oder ähnlichem stecken.

Führen Sie ssh -oKexAlgorithms = + diffie-hellman-group1-sha1 testhost@example.org mit der tatsächlichen Netzwerkhost- oder IP-Adresse des Remote-Servers aus, um dieses Problem auf der Clientseite zu beheben. Wenn dies das Problem behebt, wurde nach einem älteren sha1-basierten Protokoll für die Verbindung gesucht. Diese ältere sha1-basierte Lösung wurde aus gutem Grund deaktiviert. Sie können sie jedoch dauerhafter umgehen, indem Sie die Datei nano oder vim verwenden, um die Datei ~ / .ssh / config zu öffnen und die folgenden Zeilen hinzuzufügen:

Host example.org

KexAlgorithms + diffie-hellman-group1-sha1

Denken Sie daran, dass Sie sicherstellen möchten, dass das Pluszeichen vorhanden ist, da ssh die sichereren Standardeinstellungen anfügt und nicht ersetzt. Wenn der Server die Pakete aktualisiert, verwenden Sie in den meisten Fällen die sichereren Protokolle.

Wenn Sie zuvor einen Fehler erhalten haben, in dem das ssh-dss-Protokoll anstelle der sha1-Version erwähnt wurde, können Sie stattdessen diesen Befehl gefolgt vom Namen Ihres Hosts versuchen: ssh -oHostKeyAlgorithms = + ssh-dss. Wenn dies funktioniert, werden Sie es tun müssen die Datei ~ / .ssh / config erneut bearbeiten. Fügen Sie nach der Host-Zeile eine Registerkarte und Folgendes hinzu:

HostKeyAlgorithms + ssh-dss

Denken Sie daran, dass der ssh-dss-Schlüssel genau wie das sha1-System wegen äußerst rationaler Sicherheitsprobleme veraltet ist. Wenn Sie dies verwenden, kann dies zu Sicherheitslücken in Ihrer Verbindung führen. Daher sollte dies nur als vorübergehende Korrektur angesehen werden, wenn dies auch nur der Fall ist. Stellen Sie sicher, dass der Server so schnell wie möglich aktualisiert wird.

Similar Posts

Leave a Reply

Your email address will not be published.