Comment installer une clé privée ssh générée par puttygen?

42

J'ai configuré mon serveur Linux pour accepter les connexions de mon PC en ajoutant la clé publique générée par puttygen au fichier authorized_keys.

J'essaie maintenant de me connecter à la même machine, mais cette fois-ci à partir d'une autre machine Ubuntu. Je dois utiliser la même clé privée (pour une raison étrange, ne demandez pas ..) et je ne comprends pas très bien comment l'installer sur mon client Ubuntu.

Dois-je le convertir dans un autre format?

    
posée Assaf Lavie 29.11.2010 - 16:12
la source

7 réponses

23

Je ne suis pas sûr si votre clé privée fonctionnera dans Ubuntu, mais ça vaut le coup. copiez simplement les clés dans /home/yourName/.ssh/ nommez la clé privée comme id_rsa et la clé publique comme id_rsa.pub .

Si cela ne fonctionne pas, vous pouvez créer votre propre paire de clés ssh à l'aide de ssh-keygen et copier la nouvelle clé publique sur le serveur, et ssh comme suit

ssh -i ~/.ssh/id_rsa_ubuntu.pub <hostName>

Je n'ai pas joué avec, mais j'apprends que ssh-agent peut aussi être utilisé pour gérer des clés ssh.

    
réponse donnée theTuxRacer 29.11.2010 - 17:18
la source
34

Par hasard, je devais le faire. Vous devez convertir les clés au format OpenSSH. La commande pour faire cela est:

ssh-keygen -i -f puttygen_key > openssh_key

alors vous pouvez copier le contenu de openssh_key dans .ssh/authorized_keys comme avec une clé SSH normale.

L'option -i est celle qui indique à ssh-keygen de faire la conversion. L'option -f lui indique où trouver la clé à convertir.

Cela fonctionne pour les clés non cryptées . La clé publique n'est pas cryptée, mais la clé privée est probablement cryptée. Je ne suis pas sûr qu'il existe un moyen de décrypter la clé privée, de la convertir et de la recrypter. Il est peut-être plus facile d’utiliser de nouvelles clés comme le suggère l’autre réponse (et je vous recommande d’utiliser ssh-agent , bien que cela soit orthogonal au problème actuel).

    
réponse donnée Loop Space 29.11.2010 - 21:25
la source
24

Andrew Stacey a expliqué comment convertir les clés au format OpenSSH sous Linux.

Si vous souhaitez faire la même chose sous Windows, procédez comme suit:

  1. Démarrer PuTTYGen.
  2. Cliquez sur "Charger".
  3. Sélectionnez votre clé privée et entrez la phrase secrète.
  4. Dans le menu "Conversions", sélectionnez "Exporter la clé OpenSSH".
  5. Choisissez le nom du fichier de destination.
réponse donnée hheimbuerger 09.12.2010 - 23:53
la source
21

Comment réutiliser vos paires de clés Putty dans Ubuntu en tant que clés OpenSSH:

apt-get install putty-tools #Install Putty tools in Linux
cd /my-putty-keys
puttygen mykey-sec.ppk ‐O private‐openssh ‐o my‐openssh‐key.sec
ssh-keygen -i -f mykey-pub.ppk > my-openssh-key.pub

Comme l’étape 4 a pour but d’ajouter votre clé publique à * ~. / ssh / authorized_keys *, vous pouvez donc utiliser votre clé secrète Putty au lieu de faire 4 comme étape intermédiaire:

puttygen ‐L mykey-sec.ppk >> $HOME/.ssh/authorized_keys
    
réponse donnée user18617 26.05.2011 - 09:32
la source
6

PuTTY / PuTTYgen utilise son propre format propriétaire de paire de clés. Cela ne fonctionnera pas sous Linux, où le format des clés OpenSSH prévaut.

  • Dans PuTTYgen, vous pouvez directement voir (et copier + coller) une clé publique dans le format utilisé par le fichier OpenSSH authorized_keys .

  • Vous pouvez utiliser le bouton Enregistrer la clé publique pour enregistrer la clé publique dans le format .pub (RFC 4716). Sous Linux, le fichier est généralement nommé id_rsa.pub (ou id_dsa.pub ). Mais cela n'est généralement pas nécessaire.

  • Utilisez les Conversions & gt; Exporter la clé OpenSSH pour exporter la clé privée dans le format OpenSSH. Sous Linux, le fichier est généralement nommé id_rsa (ou id_dsa ) et stocké dans le dossier .ssh .

Voir les officiels utilisant PuTTYgen, le générateur de clés PuTTY .

Vous pouvez également utiliser une version Linux de PuTTYgen pour effectuer la conversion. La version Linux est en ligne de commande, contrairement à la version Windows.

puttygen mykey.ppk ‐O private‐openssh ‐o id_rsa

Voir la page de manuel puttygen de Linux.

    
réponse donnée Martin Prikryl 12.02.2015 - 13:14
la source
1

* * Faites attention et assurez-vous d’avoir un accès à la console car si vous ne le faites pas correctement, vous ne pourrez plus le faire tant que vous ne le réparerez pas depuis le console.

Le processus est beaucoup plus facile que vous ne le pensez. Chargez à nouveau la paire de clés publique / privée que vous avez générée dans puttygen. Dans puttygen, vous remarquerez une fenêtre au centre de l’écran qui dit: "Clé publique à coller dans le fichier Open SSH authorized_keys:".

mettez tout le contenu de la boîte en surbrillance et appuyez sur control-c pour le copier.

SSH dans votre boîte Linux et collez-le dans le fichier "/home/username/.ssh/authorized_keys". Je préfère utiliser nano et faites un clic droit pour le coller. Assurez-vous que tout reste sur une seule ligne.

Modifiez votre fichier / etc / sshd_config en fonction de vos besoins et redémarrez votre service sshd: "service ssh restart"

Si vous avez besoin d’un exemple de fichier sshd_config, faites le moi savoir et je pourrai poster le mien.

J'ai fait cela sur les serveurs LTS Ubuntu 8.04, 10.04 et 12.04 et ça marche bien.

    
réponse donnée ErnestA 22.02.2013 - 04:58
la source
1

J'ai trouvé une solution plus claire.

Sur puttygen , créez une clé, puis accédez au menu supérieur - Conversion et cliquez sur Exporter la clé openssh

Le contenu du fichier va commencer et se terminer par

-----BEGIN RSA PRIVATE KEY----- 

-----END RSA PRIVATE KEY-----
  • pour l'utilisateur root Copiez ce fichier de clé dans /root/.ssh/ comme id_rsa ou id_dsa

  • pour les autres utilisateurs Copiez ce fichier de clés dans /home/user/.ssh/ comme id_rsa ou id_dsa

Note:

  1. Pas besoin de modifier authorized_keys .
  2. J'utilise amazon linux
  3. Autorisation de fichier 0600
réponse donnée P-Kumar 07.12.2016 - 07:12
la source

Lire d'autres questions sur les étiquettes