Git Push Heroku Master Toestemming geweigerd

Ik volg de ruby.railstutorial. Ik voer het opdracht “Git Push Heroku Master” uit en het spuugt deze fout.

Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Ik ben in mijn rails-app “/ Gebruikers / Lexi87 / Rails_Projects / First_App”. Alle oplossingen?


Antwoord 1, Autoriteit 100%

De beste manier om dergelijke fouten te voorkomen, is om één openbaar / privé-sleutelpaar te gebruiken en geen extra sleutel voor Heroku. Op deze manier kan u (of uw systeem) een verkeerde sleutel niet kiezen om in te loggen in Heroku.

Als u deze fout krijgt, hebt u iets verkeerd gedaan. Controleer deze site: https://devcenter.heroku.com/articles/keeys

Als u deze fout bent, is de beste manier om onnodige toetsen te verwijderen en slechts één te gebruiken.

Als u meer dan één sleutelpaar op uw systeem nodig hebt, kunt u één sleutel instellen voor Heroku. Dit gebeurt via de volgende opdracht:

heroku keys:add

Antwoord 2, Autoriteit 18%

Sommige hulp voor Windows 7-gebruikers met GitHub Windows Client geïnstalleerd:

Hoewel Heroku Toolbelt rapporten meldt, vond het mijn openbare sleutel van Git_Hub en geüpload het, ‘Git Push Heroku Master’ is mislukt. Na het ondernemen van de onderstaande stappen werkt het prima.

  1. Maak .SSH-map onder uw gebruikersmap als men niet bestaat. Als
    Het doet, verwijdert u alle bestanden erin (dit veronderstelt dat u in orde bent met het begin van de score met SSH-toetsen).

  2. In Windows Verkenner, klik met de rechtermuisknop op de
    .SSH-map en kies Git Bash uit het contextmenu. Dit is geïnstalleerd, samen met de Gitbub Windows-clientsoftware.

  3. In het BASH-venster Enter
    ssh-keygen -t rsa -C "[email protected]” wanneer daarom wordt gevraagd A
    Passphrase (verlies dit niet).

  4. Sluit het venster Bash Shell.

  5. Van een CMD-prompt in de root van uw project, voer heroku keys:addtoe.
    Dit vindt en uploadt u de toets die u zojuist hebt gemaakt in uw /.SSH-bestand naar
    HEROKU.

Nu kunt u git push heroku masterinvoeren om je app naar Heroku te duwen.
Opmerking: u moet uw nieuw gegenereerde SSH Public-sleutel toevoegen aan uw GitHub-account wanneer u klaar bent.


Antwoord 3, Autoriteit 11%

Ik heb geconfronteerd met hetzelfde probleem. In mijn .SSH-map had ik een bestand met de naam ‘Bekende hosts’. Ik bleef proberen te verwijderen en nieuwe SSH-sleutels te maken, het werkte niet. Uiteindelijk heb ik zojuist alles verwijderd in .SSH inclusief ‘bekende hosts’ en vervolgens een nieuwe RSA-sleutel gemaakt met behulp van:

ssh-keygen -t rsa

Toen voegde ik deze nieuwe sleutel toe aan Heroku met behulp van:

heroku keys:add

Maak vervolgens een nieuwe Heroku Repo en duwde mijn app er naar:

heroku create
git push heroku master

Antwoord 4, Autoriteit 6%

ssh-keygen -t rsa

hierboven is optioneel omdat u ook kunt koppelen aan een bestaande sleutel. Heroku zal vragen om de sleutel in de volgende stap te selecteren.

heroku keys:add

Voeg uw nieuw gemaakte toets of een bestaande toe. Als u nog steeds in het probleem gaat, moet u waarschijnlijk de sleutel toevoegen aan de lijst van SSH-toetsen van uw machine door het volgende uit te voeren:

ssh-add ~/.ssh/name_of_your_rsa

en bevestig dat uw SSH is toegevoegd

ssh-add -l

Dit zou u toegang moeten krijgen om naar de Remote Refo van Heroku te drukken.


Antwoord 5, Autoriteit 3%

op OSX, ik had het ervaren van hetzelfde probleem, ik kreeg

no such identity: /Users/me/.ssh/yourPrivateKey: No such file or directory
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Ik heb geprobeerd een nieuwe sleutel te maken met ssh-keygen -t rsa en deze vervolgens toe te voegen met heroku-sleutels:add, maar het heeft niet geholpen.

Toen vond ik een bestand met de naam configin ~/.ssh/, en in het bestand stond:

ServerAliveInterval 300
ServerAliveCountMax 3
host heroku.com
    user git
    hostname heroku.com
    identityfile ~/.ssh/yourPrivateKey

Dus ik heb yourPrivateKeygewijzigd in de bestandsnaam van mijn privésleutel (standaard id_rsa) en het werkte 🙂


Antwoord 6

Ik heb een sleutel gemaakt met

ssh-keygen -t rsa

en gebruikte een andere bestandsnaam dan id_rsa (in mijn geval heroku). Ik heb de sleutel aan heroku toegevoegd met

heroku keys:add

Bij het proberen om mijn master branch naar heroku te pushen kreeg ik altijd de volgende foutmelding:

$ git push heroku-meester
De authenticiteit van host ‘heroku.com
(50.19.85.132)’ kan niet worden vastgesteld. RSA-sleutelvingerafdruk is
8b:48:5e:67:0e:c9:16:47:32:99:87:0c:1f:c8:60:bb. Weet je zeker dat je wilt
doorgaan met verbinden (ja/nee)? ja Waarschuwing: permanent toegevoegd
‘heroku.com,50.19.85.132’ (RSA) naar de lijst met bekende hosts. Toestemming
geweigerd (publickey). fataal: kon niet lezen van externe repository.

Zorg ervoor dat u over de juiste toegangsrechten en de repository beschikt
bestaat.

Zoals ik merkte, gebruikte git alleen mijn id_rsa-sleutel van een andere ssh-access (je kunt dat controleren via je git gui: Help -> SSH-sleutels).

Ik hernoemde mijn .ssh-map C:\Users\%username%.sshnaar .ssh.baken kopieerde mijn herokuprivé en publieke sleutel (van de .ssh.bakdirectory) naar een nieuw aangemaakte .sshdirectory en noemde deze id_rsa (en id_rsa.pub).

Het pushen werkte nu zoals verwacht:

git push heroku master

Antwoord 7

Als je met Windows werkt, gebruik dan git-bashin plaats van Powershell/Opdrachtprompt.

Als je alleen je ssh-sleutels wilt resetten:

  1. verwijder de .ssh-map van uw gebruiker
  2. open git-bash
  3. ssh-keygen -t rsa
  4. heldensleutels:toevoegen

en dan kun je pushen.

Other episodes