J’ai généré des paires de clés en utilisant PuttyGen
et je me suis connecté en utilisant Pageant
, de sorte que je ne dois entrer une seule fois que ma phrase de passe lorsque mon système démarre.
Comment est-ce que j’y parviens sous Linux? J’ai entendu parler du keychain
mais j’entends qu’il utilise un format de paire de clés différent – je ne veux pas changer mes clés Windows et ce serait bien si je pouvais me connecter facilement de la même manière sous Windows et Linux.
puttygen
prend en charge l’exportation de votre clé privée vers un format compatible OpenSSH. Vous pouvez ensuite utiliser les outils OpenSSH pour recréer la clé publique.
Conversions->Export OpenSSH
et exportez votre clé privée ~/.ssh/id_dsa
(ou id_rsa
). Créez la version RFC 4716 de la clé publique à l’aide de ssh-keygen
ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
Convertissez 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 ceci et ceci pour plus d’informations.
Si tout ce que vous avez est une clé publique d’un utilisateur au format PuTTY, vous pouvez la convertir au format standard OpenSH comme suit:
ssh-keygen -i -f keyfile.pub > newkeyfile.pub
Je continue à oublier ça alors je vais l’écrire ici. Non-geeks, continuez simplement à marcher.
La méthode la plus courante pour créer une clé sous Windows consiste à utiliser Putty / Puttygen. Puttygen fournit un utilitaire soigné pour convertir une clé privée Linux au format Putty. Cependant, ce qui n’est pas abordé, c’est que lorsque vous enregistrez la clé publique en utilisant puttygen, cela ne fonctionnera pas sur un serveur Linux. Windows place des données dans différents domaines et ajoute des sauts de ligne.
La solution: Lorsque vous accédez à l’écran de clé publique en créant votre paire de clés dans puttygen, copiez la clé publique et collez-la dans un fichier texte avec l’extension .pub. Vous économiserez des heures sysadmin de frustration en lisant des articles comme celui-ci.
TOUTEFOIS, sysadmins, vous obtenez invariablement le fichier de clé wonky qui ne renvoie aucun message d’erreur dans le journal d’authentification sauf, aucune clé trouvée, en essayant le mot de passe; Même si les clés de tous fonctionnent correctement, vous avez renvoyé cette clé 15 fois à l’utilisateur.
ssh-keygen -i -f keyfile.pub > newkeyfile.pub
Devrait convertir une clé publique puttygen existante au format OpenSSH.
Les nouvelles versions de PuTTYgen (la mienne est la version 0.64) peuvent afficher la clé publique OpenSSH à coller dans le système Linux dans le fichier .ssh/authorized_keys
, comme illustré dans l’image suivante:
Si vous souhaitez récupérer les clés privée et publique d’un fichier de clé formaté PuTTY, vous pouvez également utiliser puttygen
sur les systèmes * nix. Pour la plupart des systèmes basés sur puttygen
, puttygen
fait partie du package putty-tools
.
Sortie d’une clé privée à partir d’un fichier de clés formaté PuTTY:
$ 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 [email protected] -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 eu ce problème car je passais de Putty pour Linux à Remmina pour Linux. J’ai donc beaucoup de fichiers PPK pour Putty dans mon répertoire .putty
depuis 8 ans. Pour cela, j’ai utilisé un simple for
commande bash shell pour 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 précis, a fait le travail pour tous les fichiers que le mastic avait. S’il trouve une clé avec un mot de passe, il s’arrêtera et demandera d’abord le mot de passe pour cette clé, puis continuera.
Il est probablement plus facile de créer vos clés sous Linux et d’utiliser PuTTYgen pour convertir les clés au format PuTTY.
Faq Mastic: A.2.2
Je pense que ce que TCSgrad essayait de demander (il y a quelques années) était de savoir comment se comporter avec Linux. En d’autres termes, il existe un agent (pageant) qui contient une copie déchiffrée d’une clé privée, de sorte que la phrase secrète ne doit être insérée qu’une seule fois. Ensuite, le client ssh, putty, peut se connecter aux machines sur lesquelles sa clé publique est répertoriée comme “autorisée” sans invite de mot de passe.
L’analogue est que Linux, agissant en tant que client ssh , dispose d’un agent détenant une clé privée déchiffrée, de sorte que lorsque TCSgrad tape “ssh host”, la commande ssh obtienne sa clé privée et ne soit pas invitée à entrer un mot de passe. bien sûr, host devrait contenir la clé publique dans ~ / .ssh / authorized_keys.
L’analogue Linux de ce scénario est réalisé à l’aide de ssh-agent (l’analogue de reconstitution historique) et de ssh-add (l’analogue permettant d’append une clé privée à pageant).
La méthode qui a fonctionné pour moi était d’utiliser: $ ssh-agent $ SHELL Que $ SHELL était le tour de magie dont j’avais besoin pour faire fonctionner l’agent et restr actif. J’ai trouvé ça quelque part sur le filet et ça s’est terminé quelques heures après m’être cogné la tête contre le mur.
Maintenant, nous avons l’analogue de pageant en cours d’exécution, un agent sans clés chargées.
Si vous tapez $ ssh-add par lui-même, vous appendez (par défaut) les clés privées répertoriées dans les fichiers d’identité par défaut de ~ / .ssh.
Un article Web avec beaucoup plus de détails peut être trouvé ici