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.
-
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). -
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. -
In het BASH-venster Enter
ssh-keygen -t rsa -C "[email protected]
” wanneer daarom wordt gevraagd A
Passphrase (verlies dit niet). -
Sluit het venster Bash Shell.
-
Van een CMD-prompt in de root van uw project, voer
heroku keys:add
toe.
Dit vindt en uploadt u de toets die u zojuist hebt gemaakt in uw /.SSH-bestand naar
HEROKU.
Nu kunt u git push heroku master
invoeren 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:
- verwijder de .ssh-map van uw gebruiker
- open git-bash
- ssh-keygen -t rsa
- heldensleutels:toevoegen
en dan kun je pushen.