Olen törmännyt tähän virheeseen:
$ 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.
Yritin lisätä avaimet ja saan tämän alla olevan virheen:
$ ssh-add ~/.ssh/id_rsa.pub
Could not open a connection to your authentication agent.
Jos käytät Msysgit- tai Cygwin-ohjelmaa, löydät hyvän ohjeen osoitteesta SSH-Agent in msysgit and cygwin and bash:
Lisää kotikansioosi tiedosto nimeltä .bashrc
.
Avaa tiedosto ja liitä sisään:
#!/bin/bash
eval `ssh-agent -s`
ssh-add
Tämä olettaa, että avaimesi on perinteisessä ~/.ssh/id_rsa
-sijainnissa. Jos näin ei ole, lisää koko polku ssh-add
-komennon jälkeen.
Lisää tai luo tiedosto ~/.ssh/config
, jonka sisältö on seuraava
ForwardAgent yes
Alkuperäisessä opetusohjelmassa ForwardAgent
-parametrina on Yes
, mutta se on kirjoitusvirhe. Käytä kaikkia pieniä kirjaimia tai saat virheitä.
Jos et halua käynnistää uutta ssh-agenttia joka kerta, kun avaat päätelaitteen, tutustu Keychain. Minulla on nyt Mac, joten käytin sen käyttöönottoon ohjetta ssh-agent with zsh & keychain on Mac OS X, mutta Googlen haulla löytyy varmasti paljon tietoa Windowsille.
Päivitys: Parempi ratkaisu Macissa on lisätä avain Mac OS:n avaimenperään:
ssh-add -K ~/.ssh/id_rsa
Näin yksinkertaista se on.
ssh-add ja ssh (olettaen, että käytät openssh-toteutuksia) vaativat ympäristömuuttujan, jotta he tietävät, miten puhua ssh-agentin kanssa. Jos käynnistit agentin eri komentokehoteikkunassa kuin nyt käyttämäsi tai jos käynnistit sen väärin, ssh-add tai ssh eivät näe ympäristömuuttujan asetusta (koska ympäristömuuttuja asetetaan paikallisesti komentokehotteeseen, jossa se on asetettu).
Et kerro, mitä ssh-versiota käytät, mutta jos käytät cygwin-versiota, voit käyttää tätä reseptiä [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
Tämä käynnistää agentin automaattisesti jokaisessa avaamassasi uudessa komentokehoteikkunassa (mikä on epäoptimaalista, jos avaat useita komentokehotteita yhdessä istunnossa, mutta ainakin sen pitäisi toimia).
Sallikaa minun tarjota toinen ratkaisu. Jos olet juuri asentanut Gitin 1.8.2.2 tai jotain sinne päin ja haluat ottaa SSH:n käyttöön, seuraa hyvin kirjoitettuja ohjeita.
Kaikki vaiheeseen 5.6 asti, jossa saatat kohdata pienen ongelman. Jos SSH-agentti on jo käynnissä, saatat saada seuraavan virheilmoituksen, kun käynnistät bashin uudelleen.
Could not open a connection to your authentication agent
Jos näin käy, käytä seuraavaa komentoa nähdäksesi, onko useampi kuin yksi ssh-agent-prosessi käynnissä.
ps aux | grep ssh
Jos näet useamman kuin yhden ssh-agent-palvelun, sinun on lopetettava kaikki nämä prosessit. Käytä kill-komentoa seuraavasti (PID on yksilöllinen tietokoneellasi).
kill <PID>
Esimerkki:
kill 1074
Kun olet poistanut kaikki ssh-agent-prosessit, suorita komento px aux | grep ssh uudelleen varmistaaksesi, että ne ovat poistuneet, ja käynnistä sitten Bash uudelleen.
Voilà, nyt sinun pitäisi saada jotain tällaista:
Initializing new SSH agent...
succeeded
Enter passphrase for /c/Users/username/.ssh/id_rsa:
Nyt voit jatkaa vaiheeseen 5.7 ja siitä eteenpäin.