Eine Reihe von Linux-Servern wurde eingerichtet TrustedUserCAKeys
in ihrer sshd_config.
Mein öffentlicher SSH-Schlüssel ist und sollte auf keinem dieser Server installiert werden. Wenn ich Zugriff auf einen dieser Dienste benötige, bekomme ich stattdessen eine Software, um meinen öffentlichen SSH-Schlüssel mit dem CA-Zertifikat zu signieren, dem die Server wie oben vertrauen. Die ausgestellte Unterschrift ist zeitlich begrenzt, also etwa eine halbe Stunde gültig.
Angenommen, mein privater Schlüssel ist in gespeichert mykey
Datei und mein öffentlicher Schlüssel wird in gespeichert mykey.pub
Datei. Die besagte Software authentifiziert mich also und gibt mir eine Unterschrift von mir, wenn sie überzeugt ist, dass ich den erforderlichen Zugriff habe mykey.pub
, die ich dann einlade mykey-cert.pub
Datei. Mit allen drei Dateien im aktuellen Verzeichnis gebe ich diesen Befehl unter Linux aus:
ssh -i mykey myname@server
und ich bin dabei.
Ich möchte auch von Windows aus auf diese Linux-Server zugreifen können. Ich könnte natürlich versuchen, cygwin oder msys ssh zu verwenden, aber ich mag die Bequemlichkeit von Kitt.
Gibt es eine Möglichkeit für mich, den Kitt zu verstehen und meinen signierten CA-Schlüssel an die Server zu kommunizieren?
Antworten:
Die OpenSSH-Zertifikate sind (noch) nicht in etwas anderem als OpenSSH implementiert. Es wurde vor einiger Zeit in der Mailingliste openssh-unix-dev (Thread) diskutiert:
https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-May/035992.html
Die beste Chance, die Sie wirklich mit Cygwin unter Windows oder mit der von Windows-Entwicklern erstellten Anwendung "native Win32" haben, die in diesem Moment "funktionieren sollte":
https://github.com/PowerShell/Win32-OpenSSH/wiki/Project-Status
quelle