[GELÖST] Änderung bezüglich passwortlosem ssh-Zugriff mittels authorized_keys?

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Benutzeravatar
Baxxy
Beiträge: 10647
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 597 Mal
Danksagung erhalten: 2180 Mal

[GELÖST] Änderung bezüglich passwortlosem ssh-Zugriff mittels authorized_keys?

Beitrag von Baxxy » 26.10.2021, 23:59

Mir ist aufgefallen das mein passwortloser ssh-Zugriff nicht mehr funktioniert.
PuTTY meldet:

Code: Alles auswählen

Server refused our key
und im Logfile sehe ich...

Code: Alles auswählen

Oct 26 23:54:33 RM-Test-Pi3Bplus-27 auth.info sshd[24697]: userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
Gab es da Änderungen in RaspberryMatic oder kommt das "von weiter oben"?
(der gleiche Key funktioniert bei Raspbian OS weiterhin problemlos)

Grüße, Baxxy
Zuletzt geändert von Baxxy am 27.10.2021, 14:42, insgesamt 1-mal geändert.

greenfield
Beiträge: 5
Registriert: 25.10.2021, 14:43
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 2 Mal

Re: Änderung bezüglich passwortlosem ssh-Zugriff mittels authorized_keys?

Beitrag von greenfield » 27.10.2021, 06:46

Ich hab mal bei mir nachgeschaut (aktuelles Image auf Pi4):
In /etc/ssh/sshd_config steht PubkeyAuthentication zwar auf yes, ist aber gehasht und damit inaktiv.
Das dürfte der Grund sein, warum man sich nicht mit Keys anmelden kann.

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Änderung bezüglich passwortlosem ssh-Zugriff mittels authorized_keys?

Beitrag von jp112sdl » 27.10.2021, 07:23

Baxxy hat geschrieben:
26.10.2021, 23:59
oder kommt das "von weiter oben"?
Vermutlich.

Unter 3.59.6.20210703 waren die erlaubten Algorithmen noch:

Code: Alles auswählen

root@homematic-raspi:~# sshd -T|grep "pubkey"
pubkeyauthentication yes
pubkeyacceptedalgorithms ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa
pubkeyauthoptions none
Unter 3.59.6.20211027 (nightly) fehlt ssh-rsa

Code: Alles auswählen

pubkeyauthentication yes
pubkeyacceptedalgorithms ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256
pubkeyauthoptions none

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Änderung bezüglich passwortlosem ssh-Zugriff mittels authorized_keys?

Beitrag von jp112sdl » 27.10.2021, 07:25

greenfield hat geschrieben:
27.10.2021, 06:46
Ich hab mal bei mir nachgeschaut (aktuelles Image auf Pi4):
In /etc/ssh/sshd_config steht PubkeyAuthentication zwar auf yes, ist aber gehasht und damit inaktiv.
Das dürfte der Grund sein, warum man sich nicht mit Keys anmelden kann.
Nein, wie in der Config oben im Kommentar steht:
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
Alle kommentierten Werte sind die Standardwerte.
Also ob du nun #PubkeyAuthentication yes dort zu stehen hast oder PubkeyAuthentication yes macht keinen Unterschied.
Nur wenn du die PkA deaktivieren wolltest, müsstest du PubkeyAuthentication no ins Configfile schreiben

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Benutzeravatar
jmaus
Beiträge: 9818
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 459 Mal
Danksagung erhalten: 1856 Mal
Kontaktdaten:

Re: Änderung bezüglich passwortlosem ssh-Zugriff mittels authorized_keys?

Beitrag von jmaus » 27.10.2021, 09:04

Das kommt eben daher, das ab OpenSSH 8.2 der "ssh-rsa" keytype als deprecated markiert wurde (weil er das inzwischen unsichere SHA-1 verwendet) und folglich aus dem default entfernt wurde:

https://security.stackexchange.com/ques ... -i-do-next

Beste Lösung wäre also du generierst dir einfach einen neuen (nicht ssh-rsa) hostkey auf der Maschine von der du versuchst passwordless zuzugreifen und trägst diesen dann wieder unter authorized_keys ein.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Benutzeravatar
Baxxy
Beiträge: 10647
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 597 Mal
Danksagung erhalten: 2180 Mal

Re: Änderung bezüglich passwortlosem ssh-Zugriff mittels authorized_keys?

Beitrag von Baxxy » 27.10.2021, 14:42

Zunächst mal Danke für die Zielführenden Hinweise. :)

Es ist so das RM die aktuellste OpenSSH - Version...

Code: Alles auswählen

OpenSSH_8.8p1, OpenSSL 1.1.1l  24 Aug 2021
...nutzt.
Mit dieser Version wurde die Unterstützung (wie von @jmaus angemerkt) für ältere SHA-1 Keys (welche ich wohl verwendete) deaktiviert.
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 [1]
Raspbian OS nutzt aber (bei mir noch)...

Code: Alles auswählen

OpenSSH_7.9p1 Raspbian-10+deb10u2+rpt1, OpenSSL 1.1.1d  10 Sep 2019
Daher funzt mein Key damit noch.

DIe "Lösung" war dank der Hinweise dann recht simpel. Ich habe mit PuTTYgen (Release 0.76) ein neues Schlüsselpaar erzeugt und den entsprechenden Key in die "authorized_keys" eingefügt.

Läuft!

Grüße, Baxxy

Benutzeravatar
GoSh
Beiträge: 62
Registriert: 30.09.2019, 19:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 15 Mal
Danksagung erhalten: 3 Mal

Re: [GELÖST] Änderung bezüglich passwortlosem ssh-Zugriff mittels authorized_keys?

Beitrag von GoSh » 18.01.2022, 18:59

Ich versuche bislang vergeblich per SSH von RaspberryMatic (3.61.7.20220115) aus auf einen Switch zu kommen. Vom PC aus mit PuTTY funktionierts: id_rsa.pub (Version 2) generiert und auf den Switch übertragen => Connect mit Key funktioniert.

Wenn ich aber auf Kommandozeile des Raspi mit ssh-keygen ein Key-Paar erstelle und id_rsa.pub (Version 2) auf den Switch übertrage, bekomme ich beim Aufruf von "ssh -v admin@192.168.xx.yy" die Meldung "Unable to negotiate with 192.168.xx.yy port 22: no matching key exchange method found." :

Code: Alles auswählen

root@Homematic-Raspi:~# ssh -v admin@192.168.xx.yy
OpenSSH_8.8p1, OpenSSL 1.1.1l  24 Aug 2021
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: include /usr/local/etc/ssh/ssh_config matched no files
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to 192.168.xx.yy [192.168.xx.yy] port 22.
debug1: Connection established.
debug1: identity file /root/.ssh/id_rsa type 0
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: identity file /root/.ssh/id_ecdsa_sk type -1
debug1: identity file /root/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: identity file /root/.ssh/id_ed25519_sk type -1
debug1: identity file /root/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /root/.ssh/id_xmss type -1
debug1: identity file /root/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.8
debug1: Remote protocol version 2.0, remote software version IPSSH-6.6.0
debug1: compat_banner: no match: IPSSH-6.6.0
debug1: Authenticating to 192.168.xx.yy:22 as 'admin'
debug1: load_hostkeys: fopen /root/.ssh/known_hosts: No such file or directory
debug1: load_hostkeys: fopen /root/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: (no match)
Unable to negotiate with 192.168.xx.yy port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
Die id_rsa.pub ist m.E. korrekt auf den Switch hochgeladen. Habs auch schon mit der Option -oKexAlgorithms=... probiert - und mir die Keys auf Seiten des Raspi mit "ssh -Q kex" sowie auf Seiten des Switch angeschaut. Eigentlich müssten die beiden Geräte das aushandeln können. Klappt aber nicht.

Was muss/kann ich noch einstellen bzw. was mache ich falsch ?

Benutzeravatar
jmaus
Beiträge: 9818
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 459 Mal
Danksagung erhalten: 1856 Mal
Kontaktdaten:

Re: [GELÖST] Änderung bezüglich passwortlosem ssh-Zugriff mittels authorized_keys?

Beitrag von jmaus » 18.01.2022, 19:53

GoSh hat geschrieben:
18.01.2022, 18:59
Was muss/kann ich noch einstellen bzw. was mache ich falsch ?
Du musst nach "diffie-hellman-group1-sha1" und ssh googlen und dann dem ersten Link folgen und wirst feststellen das die Ursache dein Uralt-Switch ist der einen veralteten SSH Dienst nutzt der eben das alte/obsolete bzw. nicht mehr als sicher geltende SHA1 nutzt welches in neueren OpenSSH Clientversionen standardmäßig deaktiviert ist.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Benutzeravatar
GoSh
Beiträge: 62
Registriert: 30.09.2019, 19:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 15 Mal
Danksagung erhalten: 3 Mal

Re: [GELÖST] Änderung bezüglich passwortlosem ssh-Zugriff mittels authorized_keys?

Beitrag von GoSh » 18.01.2022, 20:57

jmaus hat geschrieben:
18.01.2022, 19:53
Du musst nach "diffie-hellman-group1-sha1" und ssh googlen
Ja das hab ich zwischenzeitlich auch probiert mit diesem Aufruf:

ssh -vvv -i /usr/local/etc/ssh/id_rsa -oKexAlgorithms=diffie-hellman-group1-sha1 admin@192.168.xx.yy

Code: Alles auswählen

ssh -vvv -i /usr/local/etc/ssh/id_rsa -oKexAlgorithms=diffie-hellman-group1-sha1 admin@192.168.xx.yy
...
debug2: KEX algorithms: curve25519-sha256,ext-info-c
debug2: host key algorithms: ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256
...
debug1: kex: algorithm: diffie-hellman-group1-sha1
debug1: kex: host key algorithm: (no match)
Unable to negotiate with 192.168.xx.yy port 22: no matching host key type found. Their offer: ssh-dss
Dabei erstaunt mich jetzt aber auch dass hier : "kex: host key algorithm: (no match) ... Their offer: ssh-dss"

Wie/wo kann ich den "diffie-hellman-group1-sha1" auf dem Raspi aktivieren ?

Benutzeravatar
GoSh
Beiträge: 62
Registriert: 30.09.2019, 19:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 15 Mal
Danksagung erhalten: 3 Mal

Re: [GELÖST] Änderung bezüglich passwortlosem ssh-Zugriff mittels authorized_keys?

Beitrag von GoSh » 18.01.2022, 21:39

Habs auch mit folgendem Eintrag in /usr/local/etc/ssh/ssh_config versucht:

Code: Alles auswählen

# This is the ssh client local configuration file.
KexAlgorithms +diffie-hellman-group1-sha1
Mit " ssh -v admin@192.168.xx.yy" bleibt es bei diesem Fehler:

Code: Alles auswählen

...
debug1: kex: algorithm: diffie-hellman-group1-sha1
debug1: kex: host key algorithm: (no match)
Unable to negotiate with 192.168.xx.yy port 22: no matching host key type found. Their offer: ssh-dss
Bei Tante Google gefundene Vorschläge hab ich einige erfolglos durchprobiert ... u.a.
"**bleep**, even the largest switch supplier in the world cannot offer a secure switch. ... Maybe you can try to add your linux ssh_config file in directory/etc/ssh "KexAlgorithms +diffie-hellman-group1-sha1". In fact, the underline keyword can be change depending your device answers. In my case it was +diffie-hellman-group14-sha1."
https://community.cisco.com/t5/network- ... -p/4410107

Was ich absolut nicht verstehe ist, dass der switch einerseits s.o. das hier anbietet "Their offer: diffie-hellman-group1-sha1", wenn ich es im Raspi definitiv vorgebe (per Kommandozeilenparameter oder in ssh_config) dann plötzlich dieser Vorschlag kommt "Their offer: ssh-dss"

Antworten

Zurück zu „RaspberryMatic“