Domanda

(Uso di Vista) Sto cercando di clonare un'app dal mio repository GitHub e inserirla in Heroku. Ok, quindi ho provato a creare una chiave SSH così tante volte con questo:

 `ssh-keygen -t rsa` 

Sembra andare perfettamente. Ce l'ho sulla mia cartella C: / Users / *** /. Ssh. Ora provo a clonare un'app che ho biforcato in GitHub. Quando provo a clonarlo nella directory rails_apps, ricevo un messaggio che dice

 Permission Denied(public key). 

Ho trovato una soluzione in rete dicendo che avrei dovuto eseguire prima questo:

`ssh-add` 

Quindi ho provato a farlo. Ma ha detto che:

Impossibile aprire una connessione al proprio agente di autenticazione.

Poi dopo aver cercato su Google ho trovato qualcosa sull'esecuzione dell'agente ssh. Quindi faccio questo:

`ssh-agent bash`

e la riga di comando cambia dalla mia directory rails_apps a questa:

`bash3.1
`bash3.1
`bash3.1
`bash3.1
`bash3.1<*>gt;git push heroku master`
gt;cd myrepo` `bash3.1<*>gt;heroku create myapp`
gt;git clone git@github.com:username/myrepo.git`
gt;ssh-add [path to .ssh folder]`
gt;`

Quindi corro:

<*>

e aggiunge correttamente la chiave privata rsa (non funziona con id-rsa.pub). Ho anche incollato la chiave pubblica appena generata sul mio account GitHub.

Ora quando provo a clonare:

<*>

Ora clona correttamente il repository che ho forkato in GitHub. Ora che ho l'app nel mio repository locale, provo a creare un'app heroku.

<*>

E questo codice viene eseguito correttamente. Telecomando Git aggiunto correttamente. Ora tutto ciò che devo fare è spingerlo.

<*>

BAM! Ricevo di nuovo il messaggio di errore.

Autorizzazione negata (chiave pubblica)

Sono così vicino a spingere la mia app su heroku. Ma non funzionerà. Mi potete aiutare. Cosa sto facendo di sbagliato qui? Grazie! : D

È stato utile?

Soluzione

Nota: il tuo ticket sul supporto GitHub ha richiesto la risposta:

  

Devi dare a heroku la tua chiave. Dovrebbe esserci un comando per farlo. Se non riesci a trovarlo, dovrai contattare il loro supporto.

Per questo, vedi Graeme Collins 's risposta (e anche Errore Heroku: " Autorizzazione negata (chiave pubblica) " ):

heroku keys:add ~/.ssh/id_rsa.pub

Vedi Heroku devcenter per ulteriori informazioni su questo processo.
Puoi quindi visualizzare un elenco di tutte le chiavi, incluso il nome della chiave, in questo modo:

heroku keys

Nota: supponiamo che tu non abbia usato sudo per generare le tue chiavi, come " permesso clone git heroku ssh negato " illustra (dove heroku keys: add non funziona)


Ulteriori informazioni sulle chiavi ssh nell'altra rel ticket di supporto GitHub .

debug1: Trying private key: /.ssh/identity
debug1: Trying private key: /.ssh/id_rsa
debug1: Trying private key: /.ssh/id_dsa
  

Non sono sicuro del motivo per cui sarebbe guardare /.ssh e non ~ / .ssh allora.
  Prova a spostare la tua coppia di chiavi su quel percorso.


Non dovrebbe essere:

 git push origin master

? Per impostazione predefinita, un riferimento al repository clonato si chiama "origine", non "heroku"

Cosa fa

git remote -v show

Display?

Se lo desideri, puoi fare riferimento al repository distante con il nome heroku

git remote add heroku git@github.com:git_username/projectname.git

Altri suggerimenti

Ho avuto un problema simile. L'esecuzione del comando seguente lo ha corretto per me:

chiavi heroku: aggiungi ~ / .ssh / id_rsa.pub

Sostituisci " ~ / .ssh / id_rsa.pub " con il tuo percorso per il tuo file id_rsa.pub.

La seguente riga ha risolto il problema per me.

heroku accounts:set youraccount

Puoi prima effettuare il login in heroku fornendo Enail e Password e puoi seguire i seguenti passi per aggiungere un repository git locale in un'istanza dell'applicazione heroku.

  1. Emetti questo comando su Git Bash $ ssh-keygen -t rsa (posizione predefinita e con passphrase vuota. Puoi anche usare delle alternative).
  2. Di nuovo problema con bash $ heroku keys: add (Aggiungerà automaticamente la chiave pubblica dalla posizione predefinita).
  3. Emettilo alla bash per controllare le chiavi. $ heroku keys.
  4. È possibile aggiungere il telecomando per il nome dell'app $ heroku git: remote -a nome_app
  5. Ora puoi inviare il repository git all'heroku usando questo comando $ heroku push origin master
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top