Comment convertir SSH générés paires de clés en utilisant PuTTYgen (Windows) dans utilisés par paires de clés ssh-agent et porte-clés (Linux)

StackOverflow https://stackoverflow.com/questions/2224066

Question

J'ai produit des paires de clés à l'aide PuTTYgen et déboisent à l'aide de reconstitution historique, de sorte que je dois entrer dans mon phrase de passe une seule fois lorsque mes bottes de système.

Comment puis-je obtenir ce sous Linux? Je l'ai entendu parler de keychain mais j'entends qu'il utilise un autre format de paire de clés -. Clés Je ne veux pas changer mes Windows et ce serait bien si je pouvais connecter de façon transparente de la même manière dans les deux Windows et Linux

Était-ce utile?

La solution

puttygen permet d'exporter votre clé privée dans un format compatible OpenSSH. Vous pouvez ensuite utiliser des outils OpenSSH pour recréer la clé publique.

  1. Ouvrir PuttyGen
  2. Cliquez sur Charger
  3. Chargez votre clé privée
  4. Aller à Conversions->Export OpenSSH et exporter votre clé privée
  5. Copiez votre clé privée à ~/.ssh/id_dsa (ou id_rsa).
  6. Créer la version RFC 4716 de la clé publique en utilisant ssh-keygen

    ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
    
  7. Convertir la version RFC 4716 de la clé publique au format OpenSSH:

    ssh-keygen -i -f ~/.ssh/id_dsa_com.pub > ~/.ssh/id_dsa.pub
    

Voir cette et cette pour plus d'informations.

Autres conseils

Si vous ne disposez que d'une clé publique d'un utilisateur au format de style PuTTY, vous pouvez le convertir en format standard OpenSSH comme ceci:

ssh-keygen -i -f keyfile.pub > newkeyfile.pub

Références

Copie de l'article

  

J'oublie ce donc je vais écrire ici. Les non-geeks, juste   continuer à marcher.

     

La façon la plus commune de faire une clé sur Windows utilise Putty / PuTTYgen.   Puttygen fournit un utilitaire propre pour convertir une clé privée Linux   Format Putty. Cependant, ce n'est pas abordée est que lorsque vous enregistrez le   clé publique en utilisant puttygen il ne fonctionnera pas sur un serveur Linux. les fenêtres   met des données dans différents domaines et ajoute des sauts de ligne.

     

La solution: Lorsque vous arrivez à l'écran clé publique dans la création de votre   paire de clés en puttygen, copier la clé publique et le coller dans un texte   fichier avec l'extension .pub. Vous vous économiserez sysadmin heures de   frustration à lire les messages comme celui-ci.

     

CEPENDANT, sysadmins, vous obtenez toujours le fichier clé bancal qui jette   aucun message d'erreur dans le journal auth sauf, aucune clé trouvée, en essayant   mot de passe; même si les clés de tout le monde fonctionnent très bien, et   vous avez envoyé cette clé à l'utilisateur 15 fois.

ssh-keygen -i -f keyfile.pub > newkeyfile.pub
     

devrait convertir une clé publique de puttygen existant au format OpenSSH.

Alternativement, si vous voulez saisir les clés publiques et privées d'un fichier clé PuTTY formated vous pouvez utiliser puttygen sur les systèmes * nix. Pour la plupart des systèmes à base d'apt puttygen fait partie du paquet putty-tools.

une clé privée Restitution d'un PuTTY formated keyfile:

$ puttygen keyfile.pem -O private-openssh -o avdev.pvk

Pour la clé publique:

$ puttygen keyfile.pem -L

J'ai récemment ce problème que je me retournais d'Putty pour Linux à Remmina pour Linux. J'ai donc beaucoup de fichiers PPK pour Putty dans mon répertoire .putty comme je l'ai utilisé est depuis 8 ans. Pour cela, j'utilisé une simple commande de for pour le shell bash faire tous les fichiers:

cd ~/.putty
for X in *.ppk; do puttygen $X -L > ~/.ssh/$(echo $X | sed 's,./,,' | sed 's/.ppk//g').pub; puttygen $X -O private-openssh -o ~/.ssh/$(echo $X | sed 's,./,,' | sed 's/.ppk//g').pvk; done;

Très rapide et au point, fait le travail pour tous les dossiers qui avaient du mastic. Si elle trouve une clé avec un mot de passe, il va arrêter et demander le mot de passe pour cette première clé et puis continuer.

Il est probablement plus facile de créer vos clés sous linux et utiliser PuTTYgen pour convertir les clés au format PuTTY.

Je pense que TCSgrad a essayé de demander (il y a quelques années) était de savoir comment faire Linux se comporte comme sa machine Windows ne. Autrement dit, il est un agent (reconstitution historique) qui détient une copie décryptée d'une clé privée de sorte que le mot de passe ne doit être mis en une fois. Ensuite, le client ssh, mastic, peut se connecter aux machines où sa clé publique est répertorié comme « autorisé » sans mot de passe.

L'analogue de ceci est que Linux, agissant en tant que client ssh , a un agent titulaire d'une clé privée déchiffrée de sorte que lorsque les types TCSgrad « hôte ssh » la commande ssh obtenir sa clé privée et aller sans être invité à entrer un mot de passe. hôte serait, bien sûr, être maintenant la clé publique dans ~ / .ssh / authorized_keys.

L'analogue Linux à ce scénario est réalisée en utilisant ssh-agent (l'analogue de reconstitution historique) et ssh-add (l'analogue à l'ajout d'une clé privée de reconstitution historique).

La méthode qui a fonctionné pour moi était d'utiliser: $ Ssh-agent $ SHELL Ce $ SHELL a été le tour de magie que je avais besoin pour faire fonctionner l'agent et de rester en cours d'exécution. Je trouve que quelque part sur le net et il a fini quelques heures de battre ma tête contre le mur.

Maintenant, nous avons l'analogue de la course reconstitution historique, un agent sans clés chargées.

Typing $ Ssh-add par lui-même ajouter (par défaut) les clés privées répertoriées dans les fichiers d'identité par défaut dans ~ / .ssh.

Un article web avec beaucoup plus de détails sont disponibles

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top