Je voudrais pouvoir SSH sur ma machine en utilisant une carte à puce Gemalto .NET comme méthode d'authentification. Comment cela pourrait-il être fait sur une machine Fedora 13 (ou style générique Red Hat)?
Voici les étapes approximatives qui, selon moi, sont nécessaires:
- Fournir un certificat pour la carte à puce (et éventuellement une autorité de certification pour l’émettre?)
- Obtenez le certificat sur la carte à puce
- Configurer le serveur SSH pour autoriser l'authentification par carte à puce et le configurer pour utiliser un certificat / CA particulier
- Un client SSH qui prend en charge les cartes à puce (points supplémentaires pour un logiciel Windows gratuit)
Je recommanderais des kerberos. Le MIT produit un client et un serveur krb5.
vwduder, pourriez-vous recommander un lecteur de carte à puce et une source de cartes compatibles FIPS-201?
http://csrc.nist.gov/publications/fips/fips201-1/FIPS-201-1-chng1.pdf
J'ai une copie sur mon propre serveur, mais je ne suis pas assez populaire sur ce stacktrace pour le partager avec vous en ce moment. Ce qui précède n'est que légèrement moins fiable que nos propres serveurs, vous pourrez donc probablement les obtenir d'eux;)
[modifier] Je suis maintenant assez populaire!
http://www.colliertech.org/state/FIPS-201-1-chng1.pdf
la source
Lorsque vous utilisez des clés RSA, 1) et 2) sont triviales, car comme nous le verrons en 3) le certificat réel n'est pas pertinent dans ce contexte. Rendez-vous simplement sur cacert.org ou générez un certificat auto-signé et vous êtes prêt.
Pour 3), vous devrez extraire votre clé publique et l'installer dans $ HOME / .ssh / authorized_keys. Faites attention à la propriété et aux autorisations des fichiers! (700 pour .ssh, 600 pour les touches_autorisées). L'authentification par clé publique à l'échelle de l'hôte est déconseillée mais laissée comme exercice aux esprits curieux.
En ce qui concerne 4), vous devriez regarder dans PuTTY SC ( http://www.joebar.ch/puttysc/ ) ou - de préférence - PuTTY-CAC ( http://www.risacher.org/putty-cac/ ) qui améliore PuTTY SC avec un meilleur algorithme d'extraction de clé publique et inclut également le support Kerberos-GSSAPI de la branche de développement de PuTTY.
la source
J'ai fait une vidéo pour montrer comment utiliser une carte à puce avec un serveur Linux en utilisant PuttySC et SecureCRT . Vous pouvez le regarder ici: Comment SSH avec votre carte à puce
Je n'explique pas comment fournir un certificat sur la carte, mais si vous le faites, n'oubliez pas que la clé d'administration de la carte doit être modifiée à l'aide d'un système de gestion de carte. Ce sera beaucoup plus facile pour vous si votre entreprise vous fournit une carte à puce afin que vous n'ayez pas à vous soucier de cette partie.
Une fois la carte provisionnée, vous devez extraire la clé publique, puis l'ajouter à ~ / .sshd / authorized_key.
Pour vous connecter au serveur, vous pouvez utiliser des outils tels que PuttySC ou SecureCRT. Vous devrez obtenir la bibliothèque PSKC # 11 pour la carte (auprès du fabricant de la carte à puce ou d'une version open source). Configurez l'outil SSH avec la bibliothèque, il devrait pouvoir le lire et trouver le certificat.
Lorsque vous vous authentifiez, l'outil vous demandera le code PIN de la carte à puce.
la source