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)
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
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.
- Ouvrir PuttyGen
- Cliquez sur Charger
- Chargez votre clé privée
- Aller à
Conversions->Export OpenSSH
et exporter votre clé privée - Copiez votre clé privée à
~/.ssh/id_dsa
(ouid_rsa
). -
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
-
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
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
- Source:
http://www.treslervania.com/node/408 - Miroir: https: // web. archive.org/web/20120414040727/http://www.treslervania.com/node/408 .
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
sudo apt-get install putty
Cela installera automatiquement l'outil puttygen.
Maintenant, pour convertir le fichier PPK à utiliser avec la commande SSH exécutez la commande suivante dans le terminal
puttygen mykey.ppk -O private-openssh -o my-openssh-key
Ensuite, vous pouvez vous connecter via SSH avec:
ssh -v user@example.com -i my-openssh-key
http://www.graphicmist.in/use-your-putty-ppk-file-to-ssh-remote-server-in-ubuntu/#comment-28603
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.
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