Sur une installation Windows 7 Entreprise par ailleurs vierge:
- Installer PuTTY 0.62
- Créer une paire de clés publique / privée avec puttygen.exe
- Ajouter une clé publique à coller dans OpenSSH authorized_keys au compte github
- Ajouter une clé privée au concours
- Installez msysgit 1.7.8 avec les options suivantes:
- Utiliser Git à partir de l'invite de commandes Windows
- Utilisez (Tortoise) Plink pointé pour corriger plink.exe
- Assurez-vous que l'empreinte digitale github est ajoutée à know_hosts en vous connectant à github.com dans PuTTY et en acceptant l'empreinte digitale
Modifier
~/.ssh/config
pour lire:Host github.com User git Hostname github.com PreferredAuthentications publickey IdentityFile ~\.ssh\github.ppk
ssh -vvvT [email protected]
donne: http://pastebin.com/Tu3Fc6nJ . Notez que je suis invité à saisir la phrase de passe malgré son chargement réussi dans le concours.
J'ai essayé: chmod 700 ~/.ssh; chmod 600 ~/.ssh/*
depuis Git Bash mais il n'y a eu aucun effet tel que vérifié par ls -l
.
Je dois noter que cette configuration exacte fonctionnait sur une installation précédente de Windows 7. Pour autant que je sache, tout est identique.
Ce qui fonctionne, c'est la génération de clés depuis Git Bash. Cependant, je ne peux pas ajouter ces clés dans le concours, ce qui est une énorme douleur. En effet, il semble que toute tentative d'utilisation de clés générées par PuTTY soit infructueuse.
Avez-vous une idée de ce qui empêche cela de fonctionner sur la base des journaux? Merci d'avance.
Réponses:
Vous confondez deux programmes entièrement distincts: PuTTY et OpenSSH.
plink
et Pageant font partie de PuTTY. Lassh
commande fait partie d'OpenSSH. On ne sait pas quel programme est utilisé par Git; vous devez vérifier la%GIT_SSH%
variable d'environnement pour cela.Les programmes utilisent différents protocoles d'agent; OpenSSH ne peut pas utiliser le concours de PuTTY; il a le sien
ssh-agent
(qui est malheureusement un peu compliqué à utiliser sous Windows).PuTTY et
plink
stockez les paramètres de session dans le registre, modifiables dans l'interface de PuTTY. Ils n'utilisent rien dans~/.ssh/
; ce répertoire n'est utilisé que par OpenSSH.Les formats de clé privée utilisés par OpenSSH et PuTTY sont différents; vous ne pouvez pas utiliser de
.ppk
clé avec OpenSSH. Si vous avez généré la clé dans PuTTYgen, vous devez utiliser sa commande "Exporter → OpenSSH".la source
plink
ne prend pas en charge le format de clé OpenSSH. Si votre version le fait, ce n'est pas queplink
vous l'utilisez; c'est autre chose.ssh
invites pour la phrase de passe en dépit d' être chargé dans Pageant ». Vous êtes confondre les deux programmes.~/.ssh/config
n'est pas utilisé par PuTTY. Cependant, je voudrais réitérer que GIT_SSH est pointé vers le lien, et pourtant si je modifie le fichier de configuration ssh pour OpenSSH, les changements sont reflétés dans Git Bash lors de la tentative de connexion à github. Essentiellement, je crois que la variable d'environnement GIT_SSH est ignorée et je suppose que c'est quelque chose de spécifique à mon système d'exploitation. Je vais essayer une nouvelle image demain.J'ai préparé un guide étape par étape pour obtenir la configuration de Git pour Windows en utilisant l'application Plink de PuTTY pour l'authentification SSH.
Suivez ci-dessous:
Installer
Installez putty.zip qui est disponible sur la page de téléchargement de PuTTY ou vous pouvez télécharger individuellement.
PuTTY: putty.exe (ou par FTP )
Le client SSH et Telnet lui-même.
Plink: plink.exe (ou par FTP )
Une interface de ligne de commande vers les backends PuTTY.
Reconstitution historique: pageant.exe (ou par FTP )
Un agent d'authentification SSH pour PuTTY, PSCP, PSFTP et Plink.
PuTTYgen: puttygen.exe (ou par FTP )
Un utilitaire de génération de clés RSA et DSA.
Générer des clés RSA et PPK
ssh-keygen
pour générer une paire de clés publiques / privées RSA. Plus d'informations sur la façon de procéder peuvent être trouvées sur le site officiel Génération de clés SSH .~/.ssh/id_rsa
clé (privée) existante , via Conversions→Import key .~/.ssh/id_rsa.ppk
.Vous devriez maintenant avoir les clés suivantes dans votre
~/.ssh
répertoire:id_rsa
: Clé RSA privée (OpenSSH)id_rsa.pub
: Clé RSA publique (OpenSSH)id_rsa.ppk
: Clé privée (PuTTY)Installez Git pour Windows .
Assurez-vous que vous choisissez d'utiliser Plink.
Remarque: Si vous avez déjà installé Git, vous pouvez simplement réexécuter le programme d'installation et définir Plink pour être votre application SSH par défaut.
Définissez vos chemins d'environnement.
Ajoutez les variables système suivantes (si elles ne sont pas déjà définies):
GIT_HOME
:C:\Program Files\Git
GIT_SSH
:C:\Program Files (x86)\PuTTY\plink.exe
Ajoutez le répertoire binaire Git au chemin système.
Path
:%Path%;%GIT_HOME%\bin
Ouvrez Pageant et chargez la clé ppk située dans
~/.ssh/id_rsa.ppk
.Remarque: Une fois Pageant lancé, vous pouvez cliquer sur son icône dans la barre d'état système située dans la barre des tâches, à côté de l'heure, à droite.
Ouvrez Putty et connectez-vous pour tester votre connexion via SSH et ajouter la clé du serveur en tant qu'hôte connu.
Exemples de noms d'hôtes:
[email protected]:22
(ou via ssh-agentssh -Tv [email protected]
)[email protected]:22
(ou via ssh-agentssh -Tv [email protected]
)Démarrez Git Bash.
Vous devriez pouvoir pousser et tirer depuis votre hôte distant sans entrer de mot de passe à chaque fois.
Raccourci
Vous pouvez placer un raccourci dans votre répertoire de démarrage pour charger automatiquement votre clé chaque fois que vous vous connectez à votre compte Windows.
Via le script par lots
Cette idée a été inspirée par une réponse à cette question:
Via l'explorateur Windows
Accédez au répertoire de démarrage dans l'Explorateur Windows.
Le
Startup/
répertoire utilisateur (préféré) est situé à:Le
Startup/
répertoire de tous les utilisateurs est situé à:Faites un clic droit à l'intérieur du dossier et sélectionnez New→Shortcut
Dans la boîte de dialogue Créer un raccourci , entrez les informations suivantes.
"C:\Program Files (x86)\PuTTY\pageant.exe"
Pageant Autoload
Cliquez avec le bouton droit sur le nouveau raccourci et choisissez Propertiesdans le menu contextuel.
Modifiez les champs suivants sous l' onglet Raccourci :
"%PROGRAMFILES(x86)%\PuTTY\pageant.exe" id_rsa.ppk
%USERPROFILE%\.ssh
Remarques:
Si vous utilisez un système d'exploitation Windows 32 bits, vous devez utiliser la
%PROGRAMFILES%
variable d'environnement à la place de%PROGRAMFILES(x86)%
.Si vous avez placé votre raccourci dans le répertoire de démarrage Tous les utilisateurs, assurez-vous que l'utilisateur actuel possède une
id_rsa.ppk
clé dans son~/.ssh
répertoire ou la clé ne se chargera pas automatiquement.Remarques de clôture
Voilà. La prochaine fois que vous vous connecterez à votre profil Windows, vous serez accueilli par une invite Pageant pour entrer le mot de passe de votre clé. Si vous n'avez pas défini de mot de passe sur votre clé, votre clé doit être chargée automatiquement sans invite.
Si vous n'êtes pas sûr que votre clé soit chargée, affichez les clés actuelles dans Pageant en sélectionnant Afficher les clés dans le menu contextuel de Pageant dans la barre d'état système.
la source
En anglais simple
Puttygen peut construire des clés différentes, Github veut SSH1 RSA (?, Je utilisation des clés SSH2 avec reconstitution historique sur github)
Ajouts
Voir aussi ce post sur le débogage des problèmes de concours avec Github
la source