Stellen Sie sicher, dass kein SSH-Befehl in ein Zertifikat eingebettet wurde.

7

Von man 8 sshdin Bezug auf das Dateiformat für autorisierte Schlüssel und die command="command"Option:

Beachten Sie, dass dieser Befehl entweder durch eine ForceCommand-Direktive sshd_config (5) oder einen in ein Zertifikat eingebetteten Befehl ersetzt werden kann.

Mit ssh-keygen -O force-command="command"kann ein Befehl in ein Zertifikat eingebettet werden. Aber wie kann man überprüfen, ob ein Befehl nicht in ein Zertifikat eingebettet wurde? ForceCommandÜberschreibt ein in ein Zertifikat eingebetteter Befehl immer, um zu verhindern, dass unerwartete Befehle ausgeführt werden ?

Kann ein böswilliger Benutzer einen erzwungenen Befehl ssh autorisierte Schlüssel umgehen? stellt eine allgemeinere Frage zur Sicherheit, aber in den Antworten werden derzeit keine in Zertifikaten eingebetteten Befehle erwähnt.

Monica Für CEO
quelle
Welche Version von ssh / sshd usw. ist das?
user9517
OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012undOpenSSH_6.2p2 Debian-6~bpo70+1, OpenSSL 1.0.1e 11 Feb 2013
Monica für CEO
Und wenn ich es richtig verstehe, ssh-keygen -List es für Zertifikate, aber nicht für RSA-Schlüssel.
Monica für CEO
ssh-keygen -lfzeigt einen Fingerabdruck, aber keine eingebetteten Befehle.
Monica für CEO
openssl rsa -in file -text -nooutzeigt Modul und Exponenten, aber keine eingebetteten Befehle.
Monica für CEO

Antworten:

1

Die Manpage ssh-keygen sagt

-O Option

        Specify a certificate option when signing a key.

Die -O force-command=commandOption bezieht sich auf Zertifikate, nicht auf Schlüssel.

Sie müssen ein Zertifikat durch Signieren eines Schlüssels generieren, dann sollten Sie in der Lage sein, das Zertifikat zu dekodieren und den eingebetteten Befehl anzuzeigen.

user9517
quelle