2009-12-01 16 views
9

(Utilizzo di Vista) Sto tentando di clonare un'app dal mio repository GitHub e inserirla in Heroku. Okay, quindi ho provato a creare una chiave SSH così tante volte con questo:git push Autorizzazione heroku master negata su VISTA

`ssh-keygen -t rsa` 

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

Permission Denied(public key). 

ho trovato una soluzione sul proverbio rete che avrei dovuto correre questo primo:

`ssh-add` 

così ho provato a farlo . Ma ha detto che:

Impossibile aprire una connessione al tuo agente di autenticazione.

Quindi dopo un po 'di ricerca su google ho trovato qualcosa sull'esecuzione di ssh-agent. Così faccio questo:

`ssh-agent bash` 

e la riga di comando passa da mia directory rails_apps a questo:

`bash3.1$>` 

Così corro:

`bash3.1$>ssh-add [path to .ssh folder]` 

E aggiunge con successo la chiave privata RSA (non funziona con id-rsa.pub). Ho anche incollato la nuova chiave pubblica generata sul mio account GitHub.

Ora, quando cerco di clonare:

`bash3.1$>git clone [email protected]:username/myrepo.git` 

Ora clona con successo il repo ho fork GitHub. Ora che ho l'app nel mio repository locale, cerco di creare un'app di heroku.

`bash3.1$>cd myrepo` 
`bash3.1$>heroku create myapp` 

E questo codice viene eseguito con successo. Git remote è stato aggiunto correttamente. Ora tutto ciò che devo fare è spingerlo.

`bash3.1$>git push heroku master` 

BAM! Ricevo di nuovo il messaggio di errore.

Permission denied (public key)

Sono così vicino nel spingendo il mio app per Heroku. Ma semplicemente non funzionerà. Mi potete aiutare. Cosa sto facendo di sbagliato qui? Grazie! : D

+0

Quello che il 'git comando remoto -v show' visualizzato nel repository clonato? – VonC

risposta

1

Nota: il vostro ticket on GitHub Support spinto la risposta:

È necessario dare Heroku la chiave. Ci dovrebbe essere un comando per farlo. Se non riesci a trovarlo, dovrai contattare il loro supporto.

Per questo, vedere Graeme Collins s' answer (e anche Heroku error: "Permission denied (public key)"):

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

Vedi Heroku devcenter per maggiori informazioni su questo processo.
È quindi possibile visualizzare un elenco di tutti i tasti, compreso il nome della chiave, in questo modo:

heroku keys 

Nota: che supponiamo non è stato utilizzato sudo per generare le chiavi, come "git clone heroku ssh permission denied" illustra (dove heroku keys:add non funziona)


Maggiori informazioni sulle chiavi SSH in altri GitHub Support ticket.

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

io non sono sicuro perché sarebbe guardando /.ssh e non ~/.ssh poi.
Prova a spostare la tua coppia di chiavi verso quel percorso.


Non dovrebbe essere:

git push origin master 

? Per impostazione predefinita, un riferimento al repo clonato si chiama 'origine', non e 'Heroku'

Cosa

git remote -v show 

visualizzazione?

E si desidera, è possibile fare riferimento il repo lontana dal nome Heroku

git remote add heroku [email protected]:git_username/projectname.git 
+0

Grazie Von. Ho provato quello che hai detto cambiando heroku all'origine. Non ha funzionato altrettanto bene. Ho provato il comando che hai detto. Ora, quando ho 'git push Heroku master' Dice Tutto up-to-date Ma l'applicazione non è ancora in Heroku. Non sono sicuro di cosa sta succedendo. –

62

Ho avuto un problema simile. eseguendo il comando seguente fissata per me:

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

sostituto "~/.ssh/id_rsa.pub" con il percorso del file id_rsa.pub.

+0

Grazie, questa era in realtà la risposta corretta. Sapevo di aver cambiato le mie chiavi e stavo solo cercando il comando per aggiornarle :) – x10

+0

Stavo avendo lo stesso problema, e ha funzionato anche per me! – Connor

+0

Anche questo mi ha aiutato. – jonas054

1

La riga seguente ha risolto il problema per me.

heroku accounts:set youraccount 
0

È possibile effettuare il login prima di Heroku fornire enail e password e seguire i seguenti passaggi per aggiungere un repository git locale in un istanza di applicazione Heroku.

  1. Emettere questo comando su Git Bash $ ssh-keygen -t rsa (posizione predefinita e con passphrase vuota. È possibile anche alternative).
  2. Ancora un problema alle chiavi $ heroku bash: aggiungi (Aggiungerà automaticamente la chiave pubblica dalla posizione predefinita).
  3. Emettere questo in bash per controllare le chiavi. $ chiavi heroku.
  4. È possibile aggiungere il telecomando per voi app nome $ Heroku git: app_name -a distanza
  5. Ora si può spingere il repo git al Heroku utilizzare questo comando $ Heroku origine spinta maestro
Problemi correlati