git push autorizzazione master heroku negata su VISTA
-
22-07-2019 - |
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
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.
- Emetti questo comando su Git Bash $ ssh-keygen -t rsa (posizione predefinita e con passphrase vuota. Puoi anche usare delle alternative).
- Di nuovo problema con bash $ heroku keys: add (Aggiungerà automaticamente la chiave pubblica dalla posizione predefinita).
- Emettilo alla bash per controllare le chiavi. $ heroku keys.
- È possibile aggiungere il telecomando per il nome dell'app $ heroku git: remote -a nome_app
- Ora puoi inviare il repository git all'heroku usando questo comando $ heroku push origin master