4 votes

Comment puis-je utiliser le fichier ~/.ssh/config avec Pageant sous Windows ?

J'utilise Pageant sur ma machine Windows pour gérer ma clé SSH. J'ai déjà utilisé ssh-agent auparavant, mais comme Vagrant n'utilise pas ssh mais net-ssh pour l'installation/le provisionnement de Vagrant, j'ai besoin d'avoir ma clé dans Pageant pour y utiliser la redirection de l'agent.

J'utilise beaucoup mon fichier ~/.ssh/config pour configurer les raccourcis des hôtes, les clés qu'ils doivent utiliser, etc.

Le fichier .ppk que pageant utilise n'est pas compatible avec le client ssh, je ne peux donc pas le mettre dans la directive IdentifyFile.

Je pourrais, bien sûr, laisser mon ssh-agent fonctionner aussi, mais cela fait double emploi.

Comment puis-je combiner Pageant avec mon client ssh ?

Pour clarifier ce que je veux faire :

  1. Ajouter ma clé SSH à Pageant

  2. Configurez user@myhost.com dans ~/.ssh/config comme 'myhost'.

    Host myhost User calo Hostname myhost.com IdentityFile ~/.ssh/myhost

  3. Ouvrez un git bash et tapez ssh myhost de me connecter à mon hôte sans avoir à redonner mon mot de passe, parce qu'il aurait été pris lors du concours.

1voto

Joel Deleep Points 125

C'est possible. Vous devez le faire :

  1. créer une variable d'environnement Windows nommée GIT_SSH

  2. mettez le chemin vers votre plink.exe comme valeur, pour moi c'était le cas :

    C:\Program Files\PuTTY\plink.exe
  3. déconnexion et connexion (ou redémarrage de votre ordinateur)

  4. vous devriez avoir terminé, vous pouvez confirmer vous-même que vous avez défini la bonne variable par la commande git bash :

    $ export

    (montre toutes les variables env)

1voto

Gregor Streng Points 11

L'utilisation de https://github.com/benpye/wsl-ssh-pageant résout ce problème.

Ajouter

IdentityAgent SSH_AUTH_SOCK

à votre fichier .ssh/config

Ajouter la variable d'environnement de l'utilisateur via le paramètre Windows : Nom : SSH_AUTH_SOCK Valeur : \.\pipe\ssh -pageant

Démarrer : wsl-ssh-pageant.exe --winssh ssh-pageant

Maintenant vous pouvez vous connecter à votre hôte via ssh dans commandshell ou powershell. Bien sûr, la page doit déjà fonctionner avec des clés.

0voto

James Mertz Points 390

.ppk peuvent être facilement convertis au format OpenSSH en utilisant la fonction "Export" de PuTTYgen.

C'est la meilleure solution, étant donné que le système de gestion de la sécurité d'OpenSSH ssh ne parle pas le protocole du Pageant (et vice versa). Seul le programme PuTTY plink, psftp, &c. peut utiliser Pageant.

Dans PuTTY, une configuration similaire peut être effectuée en enregistrant une "session" dans l'interface graphique de PuTTY.

0voto

sergio.hs84 Points 441

Je ne suis pas sûr que cela résoudra votre cas, mais l'utilisation d'une session PuTTY a fonctionné dans mon scénario lorsque j'utilisais Mercurial.

Avant : J'ai un Pageant fonctionnel avec une clé ssh fonctionnelle et je clone depuis myhost en utilisant

hg clone ssh://calo@myhost//home/hg/repo

Après :

hg clone ssh://host_hg//home/hg/repo

Pour ce faire, j'ai créé une session sauvegardée dans PuTTY appelée host_hg où je règle le "Nom d'utilisateur de la connexion automatique" à calo . Vous pouvez créer une nouvelle session en faisant un clic droit sur l'icône du concours dans la barre d'outils et en sélectionnant "Nouvelle session". Saisissez le nom de l'hôte et le nom des sessions sauvegardées. Vous trouverez le champ "Auto-login username" dans l'arbre de gauche sous "Connection->Data". N'oubliez pas de sauvegarder la session.

Je suppose que l'équivalent de IdentityFile est "Fichier de clé privée pour l'authentification" trouvé sous Connexion->SSH->Auth.

0voto

Kound Points 141

Réglage de GIT_SSH indique à git d'utiliser Putty plink.exe au lieu de l'OpenSSH. ssh commande. Cela fonctionne bien sûr pour les commandes git à exécuter sans mot de passe. Mais le ~/.ssh/config ne sera pas respecté et le ssh c'est-à-dire dans Cygwin ou Git Bash demandera toujours le mot de passe de votre git.

Si vous voulez utiliser le (OpenSSH) ssh dans le GIT Bash, vous pouvez essayer d'utiliser un agent SSH qui supporte la connexion à Pageant comme celui-ci : https://github.com/cuviper/ssh-pageant

En utilisant ceci, vous devriez être capable d'utiliser Pageant comme agent SSH et donc ne pas avoir besoin de saisir vos identifiants une fois que vous entrez dans ssh et en même temps le contenu de votre fichier ~/.ssh/config sera respecté.

Veuillez noter : Si vous avez déjà défini GIT_SSH à plink, git ignorera toujours votre ~/.ssh/config car Putty ne l'utilise pas.

Assurez-vous donc que cette variable n'est pas définie (ou qu'elle est définie sur OpenSSH), si vous souhaitez utiliser cet agent SSH personnalisé avec git.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X