[alexa-fhem] no matching host key type found. Their offer: ssh-rsa

Begonnen von smmmo, 18 Februar 2022, 22:38:55

Vorheriges Thema - Nächstes Thema

smmmo

Nach dem Aktualisieren des ssh clients auf meinem Debian testing erhalte ich folgenden Fehler:

alexaFHEM.ProxyConnection error; Reverse Proxy replied with neither registered nor unregistered status: out:  err:Unable to negotiate with 88.99.31.202 port 58824: no matching host key type found. Their offer: ssh-rsa


Ich nehme an, es hängt hiermit zusammen:
Zitat
openssh (1:8.8p1-1) unstable; urgency=medium

  OpenSSH 8.8 includes a number of changes that may affect existing
  configurations:

   * This release disables RSA signatures using the SHA-1 hash algorithm by
     default. This change has been made as the SHA-1 hash algorithm is
     cryptographically broken, and it is possible to create chosen-prefix
     hash collisions for <USD$50K.

     For most users, this change should be invisible and there is no need to
     replace ssh-rsa keys. OpenSSH has supported RFC8332 RSA/SHA-256/512
     signatures since release 7.2 and existing ssh-rsa keys will
     automatically use the stronger algorithm where possible.

     Incompatibility is more likely when connecting to older SSH
     implementations that have not been upgraded or have not closely tracked
     improvements in the SSH protocol. For these cases, it may be necessary
     to selectively re-enable RSA/SHA1 to allow connection and/or user
     authentication via the HostkeyAlgorithms and PubkeyAcceptedAlgorithms
     options. For example, the following stanza in ~/.ssh/config will enable
     RSA/SHA1 for host and user authentication for a single destination
     host:

         Host old-host
             HostkeyAlgorithms +ssh-rsa
             PubkeyAcceptedAlgorithms +ssh-rsa

     We recommend enabling RSA/SHA1 only as a stopgap measure until legacy
     implementations can be upgraded or reconfigured with another key type
     (such as ECDSA or Ed25519).

-- Colin Watson <cjwatson@debian.org>  Tue, 15 Feb 2022 19:20:21 +0000

Ich verwende:
- alexa-fhem version 0.5.62
- fhem.pl:25684/2022-02-15 perl:5.034000 os:linux user:fhem

Ebenfalls probiert:

sudo -u fhem ssh -p 58824 fhem-va.fhem.de status
Unable to negotiate with 88.99.31.202 port 58824: no matching host key type found. Their offer: ssh-rsa


Mir ist nicht klar, was nun zu tun ist.
Wenn ich es richtig verstehe, wurden meine ssh-keys mit RSA/SHA1 generiert, was man aus security-Sicht nicht mehr haben will. RSA/SHA-256/512 wäre ok und der Server unterstützt ja anscheinend ssh-rsa. Also brauche ich neue keys? Wenn ja, wie sollte ich vorgehen, um sie zu generieren?

Danke und Grüsse


brain666

#1
Moin zusammen,

ich habe genau das selbe Problem


[22.2.2022, 06:54:08] Server listening on: http://127.0.0.1:40697 for proxy connections
[22.2.2022, 06:54:08] *** SSH: checking proxy configuration
[22.2.2022, 06:54:08] sshautoconf: home=/opt/fhem, spath=/opt/fhem/.alexa, cpath=./alexa-fhem.cfg, sshpath=/opt/fhem/.ssh
[22.2.2022, 06:54:08] Passed config: {
  sshproxy: {
    ssh: '/usr/bin/ssh',
    description: 'FHEM Connector',
    options: [ '-i', '/opt/fhem/.ssh/id_rsa', '-p', 58824, 'fhem-va.fhem.de' ],
    'bind-ip': '127.0.0.1',
    server: Server {
      insecureHTTPParser: undefined,
      _events: [Object: null prototype],
      _eventsCount: 3,
      _maxListeners: undefined,
      _connections: 0,
      _handle: [TCP],
      _usingWorkers: false,
      _workers: [],
      _unref: false,
      allowHalfOpen: true,
      pauseOnConnect: false,
      httpAllowHalfOpen: false,
      timeout: 0,
      keepAliveTimeout: 5000,
      maxHeadersCount: null,
      headersTimeout: 60000,
      _connectionKey: '4:127.0.0.1:0',
      [Symbol(IncomingMessage)]: [Function: IncomingMessage],
      [Symbol(ServerResponse)]: [Function: ServerResponse],
      [Symbol(kCapture)]: false,
      [Symbol(asyncId)]: 143
    }
  },
  connections: [
    {
      filter: 'alexaName=..*',
      uid: 999,
      server: '192.168.188.21',
      webname: 'fhem',
      port: '8083',
      name: 'FHEM'
    }
  ]
}
[22.2.2022, 06:54:08] sshautoconf: SSH key seems to exist
[22.2.2022, 06:54:08] sshautoconf: aborted with Reverse Proxy replied with neither registered nor unregistered status: out:  err:Unable to negotiate with 88.99.31.202 port 58824: no matching host key type found. Their offer: ssh-rsa

[22.2.2022, 06:54:08] *** SSH: proxy configuration failed: Reverse Proxy replied with neither registered nor unregistered status: out:  err:Unable to negotiate with 88.99.31.202 port 58824: no matching host key type found. Their offer: ssh-rsa


was ich nicht verstehe

der aufruf erfolgt über

ssh -i /opt/fhem/.ssh/id_rsa -p 58824 fhem-va.fhem.de


aber die Keys die mit der Createkey.sh erstellt werden sind ja

cert.pem
key.pem


die werden ja garnicht benutzt er scheint sich irgendwie eine falsche config zu ziehen aufjedenfall nicht die aus /opt/fhem/.alexa/config.json


{
    "alexa": {
        "port": 3000,
        "name": "Alexa TEST",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "applicationId": "amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "oauthClientID": "amzn1.application-oa2-client.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "permissions": {"<skill-id>": { "client_id": "xyz", "client_secret": "123"}}
    },

   "sshproxy" : {
      "description" : "FHEM Connector",
      "ssh" : "/usr/bin/ssh"
   },

    "connections": [
        {
            "name": "FHEM",
            "server": "192.168.188.21",
            "port": "8083",
            "webname": "fhem",
            "filter": "room=alexa"
        }
    ]
}



brain666

ich hab die lösung selber gefunden

evtl. hilft es dir


pico  pico /etc/ssh/ssh_config


darein bitte folgendes


HostKeyAlgorithms ssh-rsa,ssh-dss
PubkeyAcceptedKeyTypes ssh-rsa,ssh-dss

smmmo

Danke dir! Ich dachte auch, dass /opt/fhem/.ssh/ relevant ist. Aber das config-file dort hat sich nicht ausgewirkt.

So klappt's jetzt auch bei mir:

# cat /etc/ssh/ssh_config
[...]
Host fhem-va.fhem.de
  HostkeyAlgorithms +ssh-rsa
  PubkeyAcceptedAlgorithms +ssh-rsa

thoweiss

Zitat von: smmmo am 22 Februar 2022, 22:28:49Danke dir! Ich dachte auch, dass /opt/fhem/.ssh/ relevant ist. Aber das config-file dort hat sich nicht ausgewirkt.

So klappt's jetzt auch bei mir:
# cat /etc/ssh/ssh_config
[...]
Host fhem-va.fhem.de
  HostkeyAlgorithms +ssh-rsa
  PubkeyAcceptedAlgorithms +ssh-rsa

Das gleiche hat bei mir jetzt auch geklappt.

Danke und Gruß,
Thorsten

bjbrill

Zitat von: smmmo am 22 Februar 2022, 22:28:49Danke dir! Ich dachte auch, dass /opt/fhem/.ssh/ relevant ist. Aber das config-file dort hat sich nicht ausgewirkt.

So klappt's jetzt auch bei mir:
# cat /etc/ssh/ssh_config
[...]
Host fhem-va.fhem.de
  HostkeyAlgorithms +ssh-rsa
  PubkeyAcceptedAlgorithms +ssh-rsa

Herzlichen Dank,
ich ärgere mich damit schon seit Wochen rum...

Jetzt klappt es auch wieder bei mir.
Ubuntu-Server, Dect200, Jeelink, Unifi, ESP32, Alexa, Tasmota, zigbee2mqtt, OpenDTU.

sigma415

Zitat von: smmmo am 22 Februar 2022, 22:28:49Danke dir! Ich dachte auch, dass /opt/fhem/.ssh/ relevant ist. Aber das config-file dort hat sich nicht ausgewirkt.

So klappt's jetzt auch bei mir:
# cat /etc/ssh/ssh_config
[...]
Host fhem-va.fhem.de
  HostkeyAlgorithms +ssh-rsa
  PubkeyAcceptedAlgorithms +ssh-rsa

Vielen Dank :)
Ich hatte das gleiche Problem nach einer (ziemlich heftigen) Upgrade-Orgie meines ubuntu-Servers von Linux 18.04 -> 20.04 -> 22.04.
Mit den beiden Einträgen in der ssh_config läuft auch der FHEM-Alexa-Connector wieder  :)
FHEM auf ubuntu-Server (Notebook), CUNO's via LAN, 3x HMLAN, 2x goE, Tasmota-Devices via MQTT, Home Connect, Velux-KLF200, Harmony, SMA STP10, SMA HM2.0, BYD HVS7.7, etc. pp.  ....
Und immer noch viele, viele (Alt-) HM's (ohne -IP).

errazzor

Vielen Dank für diesen Thread.
Nach einem Update meines Raspi von Bullseye nach Bookworm hatte ich das gleiche Problem.
Die beiden Zeilen in der ssh_config haben geholfen :)

laserrichi

Habe auch auf Bookworm umgestellt bzw. neues System eingerichtet und bin auch über das Thema ssh gestolpert.

Eintrag in die ssh_config hat geholfen.

Vielleicht bitte noch im Wiki vermerken.

Dabei auch mal erwähnen das jetzt Skill Installieren nur noch mit der APP geht. Alexa konfigurieren über PC mit https://alexa.amazon.de/  geht nicht mehr... man wird gezwungen die App zu nutzen... wie ich das hasse.... wenn man am PC sitzt und fehler sucht und neuen Proxykey eingeben muss.
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

MadMax-FHEM

Zitat von: laserrichi am 12 Februar 2024, 16:17:11Vielleicht bitte noch im Wiki vermerken.
Kannst du auch tun 8) :) ;)

https://wiki.fhem.de/wiki/FHEMWiki:Administratoren

Zitat von: laserrichi am 12 Februar 2024, 16:17:11Alexa konfigurieren über PC mit https://alexa.amazon.de/  geht nicht mehr... man wird gezwungen die App zu nutzen... wie ich das hasse....
Ja, bin auch kein Freund von "das geht nur noch per App"... :-\

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

SmokeMaster

Zitat von: laserrichi am 12 Februar 2024, 16:17:11... wenn man am PC sitzt und fehler sucht und neuen Proxykey eingeben muss.

Den skill konnte ich gestern noch am Rechner auf irgend einer Amazon Seite deaktivieren und neu aktivieren, und den key per c&p einfügen.
Aber generell mag ich es auch nicht am Rechner zu sitzen und ständig das Smartphone zu nehmen um die App zu nutzen. Die alte alexa Seite vermisse ich sehr.

laserrichi

RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

WarBird

huhu, bin noch ein bisschen unbeholfen in Linux und so...
wo genau und wie muss ich das den nun eintragen?



Zitat von: smmmo am 22 Februar 2022, 22:28:49Danke dir! Ich dachte auch, dass /opt/fhem/.ssh/ relevant ist. Aber das config-file dort hat sich nicht ausgewirkt.

So klappt's jetzt auch bei mir:
# cat /etc/ssh/ssh_config
[...]
Host fhem-va.fhem.de
  HostkeyAlgorithms +ssh-rsa
  PubkeyAcceptedAlgorithms +ssh-rsa

wenn ich den Beitrag von brain666 richtig interprtiere muss ich mit pico ( ich nehm an das ist ein editor) das file

etc/ssh/ssh_config

öffnen und den code

HostKeyAlgorithms ssh-rsa,ssh-dss
PubkeyAcceptedKeyTypes ssh-rsa,ssh-dss


einfügen, das öffnet bei mir allerdings 2 files nacheinander... ein leeres namens pico
und eins wo ganz viel text drin steht... wo da muss ich den nun was eintragen? in die erste datei nur den code

# cat /etc/ssh/ssh_config

und in die zweite dann
hinter
Host *
?? ich bin etwas Verwirrd... sorry für meine vieleicht dumme fragen aber bin hald ein altes windows kind das füher mal mit dos rumgespielt hat aber Linux kenn ich erst seit FHEM bzw seit dem Raspberry Pi für FHEM :)

Zitat von: brain666 am 22 Februar 2022, 08:24:36ich hab die lösung selber gefunden

evtl. hilft es dir

pico  pico /etc/ssh/ssh_config

darein bitte folgendes

HostKeyAlgorithms ssh-rsa,ssh-dss
PubkeyAcceptedKeyTypes ssh-rsa,ssh-dss



Gruß Tobias

MadMax-FHEM

#13
Zitat von: WarBird am 25 Februar 2024, 01:03:44huhu, bin noch ein bisschen unbeholfen in Linux und so...
Dann wäre ich vorsichtig hier an Systemdateien "rumzuschrauben"...
Bzw. vorher sichern...

Wie editierst du Dateien auf dem Raspi?
Hoffentlich nicht: kopieren (per Filezilla o.ä.) auf einen Windows-Rechner, dann dort editieren und wieder zurück...

Zitat von: WarBird am 25 Februar 2024, 01:03:44wo genau und wie muss ich das den nun eintragen?
Naja, das steht doch mehrfach im Thread:

/etc/ssh/ssh_config

Du wirst allerdings root Rechte brauchen, also sudo...

D.h. mit deinem bevorzugten Linux-Editor (commandline) z.B. pico oder nano oder was halt immer...

Damit oben genannte Datei öffnen (verm. mit sudo / oder als root) und dann am Ende die Einträge vornehmen.

Allerdings habe ich eben mal "man ssh_config" gelesen und es gäbe auch die Möglichkeit die Einträge nur für den User fhem vorzunehmen:

/opt/fhem/.ssh/config

Weil bei der hier genannten Variante wird es systemweit umgestellt, also werden ab nun systemweit "schlechtere" Schlüssel akzeptiert...

https://askubuntu.com/questions/836048/ssh-returns-no-matching-host-key-type-found-their-offer-ssh-dss
http://www.openssh.com/legacy.html

EDIT: die Variante mit pico pico /opt/fhem/.ssh/config erschließt sich mir nicht. Eigentlich müsste pico /opt/fhem/.ssh/config reichen aber halt (verm.) sudo oder als root...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)