L'administration sécurisée d'un système Linux implique d'éviter les connexions SSH par mot de passe et d'utiliser à la place une connexion par clé RSA.
Le standard de facto pour les connexions SSH sur Windows est PuTTY. Ici, l'ouverture de session avec des clés RSA est certes implémentée, mais seuls des fichiers de clés peuvent être utilisés, ce qui présente l'inconvénient qu'ils se trouvent presque sans protection dans le système de fichiers.
Une option intéressante serait certainement d'utiliser des clés RSA issues du monde Windows, et peut-être même stockées sur une carte à puce physique ou virtuelle.
La terminologie utilisée ici fait délibérément la distinction entre les clés et les certificats. Le serveur SSH sur le système Linux ne vérifie pas le certificat, car l'état de confiance est directement mappé sur la clé publique. Le certificat utilisé ici doit donc plutôt être compris comme un véhicule permettant d'utiliser les moyens de bord Windows pour la connexion SSH par clé publique.
PuTTY lui-même ne prend pas en charge l'utilisation de certificats pour la connexion SSH. Il existe avec PuTTY-CAC mais un fork open source qui a implémenté cette fonctionnalité.

PuTTY-CAC ajoute une nouvelle option „Certificate“ sous Connection - SSH. Ici, on peut sélectionner l'option „Set CAPI Cert“ pour définir un certificat sur le magasin de certificats Windows pour la connexion SSH.

Une fois la sélection effectuée, la clé publique correspondante doit encore être communiquée au système concerné. Pour cela, il existe l'option “Copy to Clipboard“, qui copie les informations nécessaires dans le presse-papiers de Windows.

Sur le système cible, on se connecte une dernière fois de manière classique et on édite le fichier des clés autorisées. Celles-ci peuvent être
- ~/.ssh/authorized_keys2 (Debian/Ubuntu)
- /etc/dropbear/authorized_keys (OpenWRT)

Après avoir saisi la nouvelle valeur et enregistré le fichier, il est maintenant possible de se connecter avec le certificat choisi précédemment.

L'application populaire de bureau à distance mRemoteNG apporte sa propre copie de PuTTY, mais peut être instruite dans les options sous „Avancé“ d'utiliser le fichier PuTTY-CAC.

Liens complémentaires :
Sources externes
- NoMoreFood / putty-cac (GitHub)
- PuTTY-CAC