Je rencontre cette erreur de :
$ git push heroku master
Warning: Permanently added the RSA host key for IP address '50.19.85.132' to the list of known hosts.
! Your key with fingerprint b7:fd:15:25:02:8e:5f:06:4f:1c:af:f3:f0:c3:c2:65 is not authorized to access bitstarter.
J'ai essayé d'ajouter les clés et j'obtiens cette erreur ci-dessous :
$ ssh-add ~/.ssh/id_rsa.pub
Could not open a connection to your authentication agent.
Si vous utilisez Msysgit ou Cygwin, vous trouverez un bon tutoriel sur [SSH-Agent in msysgit and cygwin and bash][ant] :
Ajoutez un fichier appelé .bashrc
à votre dossier personnel.
Ouvrez le fichier et collez-y :
#!/bin/bash
eval `ssh-agent -s`
ssh-add
Cela suppose que votre clé est dans l'emplacement conventionnel ~/.ssh/id_rsa
. Si ce n'est pas le cas, incluez un chemin complet après la commande ssh-add
.
Ajoutez ou créez le fichier ~/.ssh/config
avec le contenu suivant
ForwardAgent yes
Dans le tutoriel original, le paramètre ForwardAgent
est Yes
, mais c'est une faute de frappe. Utilisez toutes les minuscules ou vous obtiendrez des erreurs.
Si vous ne voulez pas démarrer un nouvel agent ssh à chaque fois que vous ouvrez un terminal, consultez [Keychain][1]. Je suis sur un Mac maintenant, donc j'ai utilisé le tutoriel [ssh-agent with zsh & keychain on Mac OS X][2] pour le configurer, mais je suis sûr qu'une recherche sur Google donnera beaucoup d'informations pour Windows.
Mise à jour : Une meilleure solution sur Mac est d'ajouter votre clé au trousseau de Mac OS :
ssh-add -K ~/.ssh/id_rsa
C'est aussi simple que cela.
[ant] : http://anterence.blogspot.com/2012/01/ssh-agent-in-msysgit.html [1] : https://github.com/funtoo/keychain [2] : http://www.randomsequence.com/articles/ssh-agent-with-zsh-keychain-on-mac-os-x/
ssh-add et ssh (en supposant que vous utilisez les implémentations openssh) ont besoin d'une variable d'environnement pour savoir comment parler à l'agent ssh. Si vous avez lancé l'agent dans une fenêtre d'invite de commande différente de celle que vous utilisez actuellement, ou si vous l'avez lancé incorrectement, ni ssh-add ni ssh ne verront cette variable d'environnement définie (parce que la variable d'environnement est définie localement à l'invite de commande dans laquelle elle est définie).
Vous ne dites pas quelle version de ssh vous utilisez, mais si vous utilisez celle de Cygwin, vous pouvez utiliser cette recette de [SSH Agent on Cygwin][blog] :
# Add to your Bash config file
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then
eval `$SSHAGENT $SSHAGENTARGS`
trap "kill $SSH_AGENT_PID" 0
fi
Cela lancera un agent automatiquement pour chaque nouvelle fenêtre d'invite de commande que vous ouvrirez (ce qui n'est pas optimal si vous ouvrez plusieurs invites de commande dans une session, mais au moins cela devrait fonctionner).
[blog] : http://blog.killtheradio.net/how-tos/ssh-agent-on-cygwin/
Laissez-moi vous proposer une autre solution. Si vous venez d'installer Git 1.8.2.2 ou plus, et que vous voulez activer SSH, suivez les [instructions] bien écrites (https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git).
Allez jusqu'à l'étape 5.6 où vous pourriez rencontrer un petit problème. Si un agent SSH est déjà en cours d'exécution, vous pouvez obtenir le message d'erreur suivant lorsque vous redémarrez bash
Could not open a connection to your authentication agent
Si c'est le cas, utilisez la commande suivante pour vérifier si plus d'un processus ssh-agent est en cours d'exécution
ps aux | grep ssh
Si vous voyez plus d'un service ssh-agent, vous devrez tuer tous ces processus. Utilisez la commande kill comme suit (le PID sera unique sur votre ordinateur)
kill <PID>
Exemple :
kill 1074
Après avoir supprimé tous les processus ssh-agent, exécutez à nouveau la commande px aux | grep ssh pour vous assurer qu'ils ont disparu, puis redémarrez Bash.
Voila, vous devriez maintenant obtenir quelque chose comme ceci :
Initializing new SSH agent...
succeeded
Enter passphrase for /c/Users/username/.ssh/id_rsa:
Maintenant vous pouvez continuer à l'étape 5.7 et au-delà.