it-swarm.com.de

SSH gibt Folgendes zurück: Es wurde kein passender Host-Schlüsseltyp gefunden. Ihr Angebot: ssh-dss

Ich bin es gewohnt, PuTTY auf einer Windows-Box oder einem OSX-Befehlszeilenterminal für SSH in einem NAS zu verwenden, ohne dass der Client konfiguriert werden muss.

Ubuntu 16.04 versucht SSH in das NAS (über LAN):

ssh [email protected]

Unable to negotiate with 192.168.8.109 port 22: no matching Host key type found. Their offer: ssh-dss
  1. Ist dieses Ergebnis/diese Antwort beabsichtigt?
  2. Gibt es eine einfache Korrektur, die den SSH-Zugriff auf das NAS ermöglicht?
79
gatorback

Die Version von OpenSSH in 16.04 deaktiviert ssh-dss. Es gibt eine ordentliche Seite mit älteren Informationen, die dieses Problem enthält: http://www.openssh.com/legacy.html

Kurz gesagt, Sie sollten die Option -oHostKeyAlgorithms=+ssh-dss zum SSH-Befehl hinzufügen:

ssh -oHostKeyAlgorithms=+ssh-dss [email protected]

Sie können Ihrem ~/.ssh/config auch ein Host-Muster hinzufügen, damit Sie den Schlüsselalgorithmus nicht jedes Mal angeben müssen:

Host nas
  HostName 192.168.8.109
  HostKeyAlgorithms=+ssh-dss

Dies hat den zusätzlichen Vorteil, dass Sie die IP-Adresse nicht eingeben müssen. Stattdessen erkennt ssh den Host nas und weiß, wo eine Verbindung hergestellt werden muss. Natürlich können Sie auch einen anderen Namen verwenden.

137
Kalle Elmér

Das Bearbeiten der Datei ~/.ssh/config ist die beste Option. Wenn Sie mehrere Hosts im selben Subnetz verbinden möchten, können Sie mit der folgenden Methode vermeiden, dass jeder Host in die Datei eingetragen wird:

 Host 192.168.8.*
  HostKeyAlgorithms=+ssh-dss

Dies funktioniert für mich hervorragend, da ich eine Reihe von Brocade-Switches verwalten muss, die sich über den Host-Schlüssel beschwerten, nachdem ich zu Ubuntu 16.04 gewechselt bin.

10
truxpin

Wenn Sie neueres OpenSSH verwenden möchten, um eine Verbindung zu veralteten Servern herzustellen:

ssh -o KexAlgorithms=diffie-hellman-group14-sha1 -oHostKeyAlgorithms=+ssh-dss my.Host.com

Fügen Sie -v hinzu, wenn Sie sehen möchten, was passiert, und -o HostKeyAlgorithms = ssh-dss, wenn es immer noch nicht funktioniert:

ssh -v -o HostKeyAlgorithms=ssh-dss -o KexAlgorithms=diffie-hellman-group14-sha1 my.Host.com

Sie können natürlich auch/etc/ssh/ssh_config oder ~/.ssh/ssh_config bearbeiten und Folgendes hinzufügen:

Host my.Host.com *.myinsecure.net 192.168.1.* 192.168.2.*
    HostKeyAlgorithms ssh-dss
    KexAlgorithms diffie-hellman-group1-sha1    

https://forum.ctwug.za.net/t/fyi-openssh-to-access-rbs-openssh-7/6069 erwähnt das folgende Update auf Mikrotik Routerboards:

/ip ssh set strong-crypto=yes

(Dies wird hier vermerkt, da diese Antwort auch bei der Websuche auftaucht, wenn nach einer ähnlichen Fehlermeldung gesucht wird.)

5
Dagelf

Für mich das hat in .ssh\config geklappt :

Host *
HostkeyAlgorithms +ssh-dss
PubkeyAcceptedKeyTypes +ssh-dss
0
Eric Chen