Ik loop tegen deze fout aan:
$ 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.
Ik heb geprobeerd om de sleutels toe te voegen en ik krijg deze foutmelding hieronder:
$ ssh-add ~/.ssh/id_rsa.pub
Could not open a connection to your authentication agent.
Als je Msysgit of Cygwin gebruikt, kun je een goede tutorial vinden op [SSH-Agent in msysgit en cygwin en bash][ant]:
Voeg een bestand genaamd .bashrc
toe aan je home map.
Open het bestand en plak erin:
#!/bin/bash
eval `ssh-agent -s`
ssh-add
Dit gaat ervan uit dat je sleutel in de conventionele ~/.ssh/id_rsa
locatie staat. Als dat niet zo is, voeg dan een volledig pad toe na het ssh-add
commando.
Voeg toe aan of maak het bestand ~/.ssh/config
met de inhoud
ForwardAgent ja
In de originele tutorial is de ForwardAgent
param Yes
, maar dat is een typefout. Gebruik allemaal kleine letters, anders krijg je fouten.
Als je niet telkens een nieuwe ssh-agent wilt starten als je een terminal opent, kijk dan eens naar Keychain. Ik'ben nu op een Mac, dus ik gebruikte de tutorial ssh-agent met zsh & keychain op Mac OS X om het op te zetten, maar ik'ben er zeker van dat een Google-zoekopdracht genoeg info voor Windows zal hebben.
Update: Een betere oplossing op Mac is om je sleutel toe te voegen aan de Mac OS Keychain:
ssh-add -K ~/.ssh/id_rsa
Zo simpel is het.
[http://anterence.blogspot.com/2012/01/ssh-agent-in-msysgit.html
ssh-add en ssh (ervan uitgaande dat u de openssh implementaties gebruikt) hebben een omgevingsvariabele nodig om te weten hoe ze met de ssh agent moeten praten. Als u de agent in een ander opdrachtpromptvenster hebt gestart dan degene die u nu gebruikt, of als u hem verkeerd hebt gestart, zullen noch ssh-add noch ssh die omgevingsvariabele ingesteld zien (omdat de omgevingsvariabele lokaal is ingesteld op de opdrachtprompt waarin hij is ingesteld).
Je zegt niet welke versie van ssh je gebruikt, maar als je cygwin's gebruikt, kun je dit recept van SSH Agent on Cygwin gebruiken:
# 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
Dit zal automatisch een agent starten voor elk nieuw opdrachtpromptvenster dat je opent (wat suboptimaal is als je meerdere opdrachtprompts in één sessie opent, maar het zou in ieder geval moeten werken).
Laat me een andere oplossing aanbieden. Als je net Git 1.8.2.2 of daaromtrent geïnstalleerd hebt, en je wilt SSH aanzetten, volg dan de goed geschreven aanwijzingen.
Alles tot en met Stap 5.6 waar u misschien een klein probleempje tegenkomt. Als er al een SSH-agent draait, kunt u de volgende foutmelding krijgen als u bash herstart
Could not open a connection to your authentication agent
Als dat het geval is, gebruik dan het volgende commando om te zien of er meer dan één ssh-agent proces draait
ps aux | grep ssh
Als u meer dan één ssh-agent service ziet, moet u al deze processen stoppen. Gebruik het kill commando als volgt (het PID zal uniek zijn op uw computer)
kill <PID>
Voorbeeld:
kill 1074
Nadat je alle ssh-agent processen hebt verwijderd, voer je het px aux | grep ssh commando opnieuw uit om er zeker van te zijn dat ze weg zijn, herstart dan Bash.
Voila, je zou nu iets als dit moeten krijgen:
Initializing new SSH agent...
succeeded
Enter passphrase for /c/Users/username/.ssh/id_rsa:
Nu kun je verder gaan met stap 5.7 en verder.