Quelle différence entre la key openssh et la key mastic?

J'ai trouvé que ssh-keygen ("ssh" package) produit différentes keys de puttygen ("putty" package).

Si je crée des keys publiques et privées avec ssh-keygen certains servers ssh n'accepteront pas mes keys. Si je crée des keys avec puttygen un seul server l'accepte.

Pourquoi les référentiels linux ne proposent-ils pas une solution commune (packageage)? J'ai trouvé un autre package ssh-3.2.9.1 qui crée des keys qui fonctionnent avec du mastic. Mais pourquoi il n'y a pas de solution pratique dans SSH?

    OpenSSH est l'implémentation standard de facto du protocole SSH. Si PuTTY et OpenSSH diffèrent, PuTTY est celui qui est incompatible.

    Si vous générez une key avec OpenSSH en utilisant ssh-keygen avec les options par défaut, cela fonctionnera avec pratiquement tous les servers. Un server qui n'accepte pas une telle key serait antique, utilisant une implémentation différente de SSH, ou configuré d'une manière ressortingctive étrange. Les keys d'un type autre que celui par défaut peuvent ne pas être sockets en charge sur certains servers, en particulier les keys ECDSA rendent l'établissement de session très légèrement plus rapide mais ne sont sockets en charge que par les versions récentes d'OpenSSH.

    PuTTY utilise un format de file key différent. Il est livré avec des outils pour convertir entre son propre format .ppk et le format d'OpenSSH.

    Ce ssh-3.2.9.1 que vous avez trouvé est un produit commercial qui a son propre format de key privée. Il n'y a aucune raison de l'utiliser à la place d'OpenSSH, il ne peut être que less compatible, il faut payer, et il n'y a pas de tutoriel sur comment l'utiliser.

    La plupart des dissortingbutions Linux sont disponibles pour Linux. Vous pouvez installer putty du côté Linux et utiliser puttygen pour convertir les files .ppk en files de keys de style ssh (appelés files PEM – même s'ils ne contiennent pas de file .pem).

     puttygen id_dsa.ppk -O private-openssh -o id_dsa 

    REMARQUE: vous pouvez également utiliser puttygen pour importer des files PEM de style ssh dans putty .

    L'auteur de PuTTY a opté pour la simplicité afin que les keys publiques et privées qui composent la security sous-jacente utilisée par l'authentification à key putty / ssh 2 soient stockées dans un seul file .ppk propriétaire. En règle générale, ces keys sont conservées en tant que 2 files séparés par ssh.

    Sous Linux, les files de keys sont généralement conservés dans le directory, .ssh.

    Il y a une bonne vue d'set du process de conversion ici dans cette question Stack Overflow intitulée: Convertir PEM en format de file PPK .

    L'auteur de mastic discute également de sa justification pour l'utilisation des files .ppk dans le manuel des users de putty . Vous pouvez lire à ce sujet ici dans la section 8.2.12.

    Ils stockent tous deux une «paire de keys RSA pour la version 2 du protocole SSH» et peuvent être convertis de manière interchangeable cependant en ce qui concerne la différence réelle de format stocké:

    depuis http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/key-formats-natively.html

    Les avantages du format de key PuTTY sont les suivants: La moitié publique de la key est stockée en text clair . Le format de key privée d'OpenSSH crypte l'intégralité du file key , de sorte que le client doit vous requestr votre phrase secrète avant de pouvoir faire quoi que ce soit avec la key du tout. En particulier, cela signifie qu'il doit requestr votre mot de passe avant de pouvoir offrir la key publique au server pour l'authentification. Le format de PuTTY stocke la key publique en text clair et ne crypte que la moitié privée, ce qui signifie qu'il peut envoyer automatiquement la key publique au server et déterminer si le server est prêt à accepter les authentifications avec cette key. mot de passe si cela est vraiment nécessaire. Je pense qu'OpenSSH va lire un file .pub à cette fin s'il apparaît à côté du file de key privée, mais c'est une source de confusion aussi souvent que de commodité (j'ai vu des gens replace un file de key privée et laisser un out-of- date .pub à côté, puis être très confus par le process d'authentification SSH résultant!). La key est entièrement inviolable. Les formats keys qui stockent la key publique en text brut peuvent être vulnérables à une attaque falsifiée dans laquelle la moitié publique de la key est modifiée de telle sorte que les signatures faites avec la key fouillée divulguent des informations sur la moitié privée. Pour cette raison, le format de key de PuTTY contient un code d'authentification de message (MAC), une key secrète et une couverture des parties publique et privée de la key. Ainsi, nous offrons la commodité d'avoir la key publique disponible en text clair, mais nous détectons aussi instantanément toute tentative d'attaque falsifiée, offrant une combinaison de security et de commodité que je ne crois pas trouvée dans un autre format key. En tant que bénéfice secondaire, le MAC couvre également le commentaire de la key, ce qui évite tout mal possible qui pourrait être possible si quelqu'un devait échanger deux keys et échanger les commentaires. L'approche d'OpenSSH consistant à garder la key publique cryptée pourrait également fournir une certaine security contre ce type d'attaque, mais il n'est pas certain qu'elle offre une protection appropriée: le encryption conçu pour la confidentialité laisse souvent les users modifier datatables cryptées. Pour une véritable protection d'intégrité, vous voulez un vrai MAC dédié, qui est conçu pour faire exactement cela.