PubkeyAcceptedKeyTypes und ssh-dsa-Schlüsseltyp

12

Ich versuche, die Reihenfolge zu testen, in der die Schlüssel versucht werden. Einer der Benutzer des Systems verwendet DSA, daher versuche ich, es als Option zu testen. Ich bekomme eine Bad key types.

$ ssh -vv -p 1522 [email protected]
OpenSSH_7.1p1, OpenSSL 1.0.2d 9 Jul 2015
debug1: Reading configuration data /Users/jwalton/.ssh/config
/Users/jwalton/.ssh/config line 2: Bad key types 'ssh-ed25519,ecdsa-sha2-nistp256,ssh-dsa,ssh-rsa'.

Ich habe es auf eingegrenzt ssh-dsa. Nach ssh_config(5) (es ist tatsächlich Teil von sshd_config(5), wird aber ssh_configin den Versionshinweisen zu OpenSSH 7.0 als neue Funktion aufgeführt ):

 The -Q option of ssh(1) may be used to list supported key types.

Ich kann es jedoch nicht zum Laufen bringen:

riemann::~$ ssh -Q 
/usr/local/bin/ssh: option requires an argument -- Q
riemann::~$ ssh -Q dsa
Unsupported query "dsa"
riemann::~$ ssh -Q ssh-dsa
Unsupported query "ssh-dsa"
riemann::~$ ssh -Q ed25529
Unsupported query "ed25529"
riemann::~$ ssh -Q ssh-ed25529
Unsupported query "ssh-ed25529"
riemann::~$ ssh -Q PubkeyAcceptedKeyTypes
Unsupported query "PubkeyAcceptedKeyTypes"

Wie nutzt man die ssh -QOption?

Was ist der Schlüsseltyp für ssh-dsa?

jww
quelle

Antworten:

14

Das Lesen von Handbuchseiten soll Ihnen helfen:

 -Q cipher | cipher-auth | mac | kex | key | protocol-version

Abfragen sshder für die angegebene Version 2 unterstützten Algorithmen. Die verfügbaren Funktionen sind: cipher(unterstützte symmetrische Chiffren), cipher-auth(unterstützte symmetrische Chiffren, die authentifizierte Verschlüsselung unterstützen), mac(unterstützte Nachrichtenintegritätscodes), kex(Schlüsselaustauschalgorithmen), key(Schlüsseltypen) und protocol-version(Unterstützte SSH-Protokollversionen).

Wenn ssh -Q keySie anrufen, bekommen Sie, was Sie wollen:

ssh -Q key
ssh-ed25519
[email protected]
ssh-rsa
ssh-dss
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

Dies ist eine neue Funktion in openssh-7.0. Denken Sie also daran, dass sie in älteren Versionen nicht funktionieren muss.

ssh-dsaDer Schlüsseltyp ist ssh-dssund ist in dieser Version standardmäßig deaktiviert.

Jakuje
quelle
Vielen Dank. Auf welcher Manpage waren Sie?
Jww
2
"Der Schlüsseltyp ssh-dsa ist ssh-dss und in dieser Version standardmäßig deaktiviert." - OK danke. Gibt es einen Grund, warum es standardmäßig deaktiviert ist? DSA2 verfügt über 112-Bit-Sicherheit (entspricht 2048-Bit-RSA), ist also nicht schwach oder verwundet wie ein 512-Bit- oder 768-Bit-Modul. Außerdem enthält DSS RSA und ECDSA, wodurch DSA und nicht DSS eindeutig deaktiviert wird.
Jww
1
Nicht in den Manpages hier mit Fedora 23 Beta; aber ssh -Q key funktioniert. Leider werden die Schlüssel auf meinem Computer jetzt nicht unterstützt.
Mikebabcock
3
@ PavelŠimerda Inwiefern hängt das mit DNS zusammen? Du meinst DSA? Genau dafür gibt es die PubkeyAcceptedKeyTypesOption. Wenn Sie es mit +ssh-dssvalue zu Ihrer ssh_config hinzufügen , sollten Sie in der Lage sein, DSA-Schlüssel auf dem Server zu akzeptieren. Auf dem Server können Sie HostKeyAlgorithmswie in den Versionshinweisen
Jakuje
1
@ DavidFaure Es erklärt nicht, warum, es wurde deaktiviert, es sagt nur, es wurde deaktiviert und wie man damit
umgeht
0

Als Referenz hat uns eine Antwort unter unix.stackexchange.com geholfen, das Problem zu beheben:

Die neue OpenSh-Version (7.0+) hat DSA-Schlüssel als veraltet eingestuft und verwendet standardmäßig keine DSA-Schlüssel (nicht auf Server oder Client). Die Schlüssel werden nicht mehr bevorzugt verwendet, daher würde ich, wenn möglich, die Verwendung von RSA-Schlüsseln empfehlen.

Wenn Sie wirklich DSA-Schlüssel verwenden müssen, müssen Sie diese explizit in Ihrer Client-Konfiguration mit zulassen

PubkeyAcceptedKeyTypes + ssh-dss Sollte ausreichen, um diese Zeile in ~ / .ssh / config einzufügen, da die ausführliche Nachricht versucht, es Ihnen mitzuteilen.

/unix//a/247614/39540

Meetai.com
quelle