Git: Fatal: kon niet lezen van Remote Repository

Ik probeer git-up te maken met http://danielmiessler.com/study/git/#website om mijn site te beheren.

Ik heb de laatste stap in de instructies gekregen: Git Push Website + Master: Refs / Heads / Master

Ik werk met de opdrachtregel van Git Ming32 in Win7

$ git push website +master:refs/heads/master
Bill@***.com's password:
Connection closed by 198.91.80.3
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Een probleem hier kan zijn dat het programma op zoek is naar Bill@9***.com. Wanneer ik via SSH aansluit op mijn site heb ik een andere gebruikersnaam (laten we zeggen ‘ABC’). Dus misschien zou dit abc@***.com moeten zijn. Zo ja, ik weet niet hoe ik dit moet veranderen of als ik onder een alias

kan duwen


1, Autoriteit 100%

U kunt de gebruikersnaam opgeven die SSH moet verzenden naar het externe systeem als onderdeel van de URL van uw afstandsbediening. Plaats de gebruikersnaam, gevolgd door een @, vóór de externe hostnaam.

git remote set-url website abc@***.com:path/to/repo

2, Autoriteit 188%

Uw SSH-toets was waarschijnlijk verwijderd uit SSH-agent

ssh-add ~/.ssh/id_rsa

Waar Id_RSA een SSH-toets is die is gekoppeld aan Git Repo

update

U kunt Could not open a connection to your authentication agent.Fout om op te lossen dat u eerst de agent moet starten op:

eval `ssh-agent -s`

3, Autoriteit 121%

Ik was een tijdje geleden aan hetzelfde probleem …

Mijn .git / config had

url = [email protected]:manishnakar/polymer-demo.git

Ik heb het vervangen door

url = https://github.com/manishnakar/polymer-demo.git 

en het werkt nu 🙂


Antwoord 4, autoriteit 92%

Zorg ervoor dat je de juiste url hebt in .git/config

url = [email protected]:username/repo.git

Als het je eerste push is, moet je de juiste upstream instellen

$ git push -u origin master

U kunt controleren welke sleutel wordt gebruikt door:

$ ssh -vvv [email protected]

Het antwoord zou zoiets als dit moeten bevatten:

debug1: Next authentication method: publickey
debug1: Offering RSA public key: ~/.ssh/id_rsa
...
You've successfully authenticated, but GitHub does not provide shell access.

Het is ook mogelijk om regels voor ssh te definiëren in ~/.ssh/config, b.v. gebaseerd op aliassen:

  Host github
      HostName github.com 
      User git
      IdentityFile "~/.ssh/id_rsa"
   Host git
      HostName github.com 
      User git
      IdentityFile "~/.ssh/some_other_id"

Je kunt voor elke alias verbinding maken met verschillende poorten, verschillende gebruikersnaam gebruiken, enz.


Antwoord 5, autoriteit 16%

Probeer de GIT_SSH-omgevingsvariabele te verwijderen met unset GIT_SSH. Dit was de oorzaak van mijn probleem.


Antwoord 6, autoriteit 15%

Dit wordt meestal veroorzaakt doordat de SSH-sleutel niet overeenkomt met de afstandsbediening.

Oplossingen:

  1. Ga naar terminal en typ de volgende opdracht (Mac, Linux) en vervang deze door je e-mailadres.

    ssh-keygen -t rsa -C “[email protected]

  2. Kopieer de gegenereerde sleutel met het volgende commando, beginnend bij het woord ssh.

    kat ~/.ssh/id_rsa.pub

  3. Plak het in respectievelijk github, bitbucket of gitlab van je afstandsbediening.
  4. Opslaan.

Antwoord 7, autoriteit 14%

Zorg ervoor dat ssh-agent actief is door de volgende opdracht op uw terminal uit te voeren:

eval $(ssh-agent -s)

Bron: Github-documentatie


8, Autoriteit 8%

Ik had hetzelfde probleem.

Deze fout betekent dat u uw externe URL-locatie niet hebt opgegeven waarop uw code zal duwen.

U kunt Remote URL met 2 (voornamelijk) manieren instellen:

  1. Specificeer externe URL via het uitvoeren van opdracht op Git Bash.

    • Navigeer naar uw projectdirectory

    • Open git bash

    • Uitvoerende opdracht:

      • git remote set-url origin <https://abc.xyz/USERNAME/REPOSITORY.git>
  2. Meld Remote URL Direct in Config Bestand

    • Navigeer naar uw projectdirectory

    • Ga naar .git map

    • Open config bestand in teksteditor

    • kopiëren en plakken onder lijnen

      • [remote "origin"]
        url = https://abc.xyz/USERNAME/REPOSITORY.git
        fetch = +refs/heads/*:refs/remotes/origin/*

Voor meer gedetailleerde informatie Bezoek deze link .


9, Autoriteit 8%

Ik had een verkeerde SSH-sleutel voor Bitbucket samen met de juiste in SSH-agent.

eerst verwijderde alle toetsen

ssh-add -D

Voeg vervolgens precies de rechtertoets toe.

ssh-add ~/.ssh/id_rsa

10, Autoriteit 5%

Na wat onderzoek heb ik hier eindelijk een oplossing voor gevonden, je hebt een omgevingsvariabele gedeclareerd naar het pad plink.exe. Dus als je dat pad verwijdert, heropen dan de git bash en probeer te klonen via SSH, het zal werken.

Zie deze link

http://sourceforge.net/p/forge/site-support/2959/#204c


Antwoord 11, autoriteit 5%

Ik had dezelfde fout.
De oplossing was de volgende:
Ik heb mijn url gecorrigeerd in .git/config.
Ik heb dat zojuist gekopieerd van de HTTPS-kloon-URL. Dat zou zoiets zijn:

url = https://github.com/*your*git*name*/*your*git*app*.git

Het werkte.


Antwoord 12, autoriteit 5%

Een andere oplossing:

Soms gebeurt dit bij mij vanwege netwerkproblemen. Ik begrijp het hoofdprobleem niet helemaal, maar overschakelen naar een ander subnetwerk of VPN gebruiken lost het op


Antwoord 13, autoriteit 3%

Als u na het “git push origin master”-commando de fout “kon niet lezen van externe repository” ziet, probeer dit dan

1.ssh-keygen -t rsa -b 4096 -C "youremail"
2.eval $(ssh-agent -s)
3.ssh-add ~/.ssh/id_rsa
4.clip < ~/.ssh/id_rsa.pub(it copies the ssh key that has got generated)
5.then go to your remote repository on github and goto settings-> SSH and GPG keys ->new SSH key ->enter any title and paste the copied SSH key and save it
6. now give git push origin master 

Antwoord 14, autoriteit 3%

In je .git/config-bestand

[remote "YOUR_APP_NAME"]
    url = [email protected]:YOUR_APP_NAME.git
    fetch = +refs/heads/*:refs/remotes/YOUR_APP_NAME/*

En gewoon

git push YOUR_APP_NAME master:master 

Antwoord 15, autoriteit 3%

Als u Gitlab gebruikt dan moet u inloggen en GitlaB nieuwe termen accepteren, voordat u probeert te trekken of te duwen.


16, Autoriteit 2%

In mijn geval gebruikte ik een SSH-sleutel met een wachtwoord om te verifiëren met GitHub. Ik had Pageant niet correct in Windows (alleen in Cygwin) opgezet. De ontbrekende stappen waren om de variabele Git_SSH-omgeving te wijzen om te plink.exe. Ook moet je Github.com in de plink bekende_hosts.

  plink github.com
   y
   <then ctrl-c>

Ik hoop dat dit helpt!

Ik weet zeker dat Intellij me een nuttiger fout heeft gegeven, of beter nog om het SSH-sleutelwachtwoord in te voeren.


17, Autoriteit 2%

Ik had een volkomen goed werkende git en plotseling kreeg ik die fout toen ik probeerde naar de meester te duwen. Zoals ik erachter kwam, was het omdat de repository-gastheer problemen had.

Als u GitHub of Bitbucket gebruikt, kunt u eenvoudig de status controleren op

https://status.github.com/messages of https://status.bitbucket.org/


18

Voor mijn geval gebruik ik bedrijfsnetwerk (zonder internetverbinding) op kantoor. Om code uit GitHub te trekken, stel ik HTTPS-proxy in Gitbash in en gebruik vervolgens HTTPS in plaats van SSH om code te trekken, het werkt prima. Wanneer komt echter naar het push-code, de HTTPS-proxy werkt niet. Dus schakelen naar internetnetwerk (met internetverbinding) of Set SSH-proxy kan het probleem oplossen.


19

Eigenlijk heb ik veel dingen geprobeerd om het op Win7 te laten werken, sinds ik de SSH-exectun voor native heb gewijzigd in build-it en omgekeerd en dezelfde fout.
Bij toeval verander ik het in HTTPS in het “.git/config”-bestand als:

[remote "origin"]
        url = https://github.com/user_name/repository_name.git
        fetch = +refs/heads/*:refs/remotes/origin/*

en het is eindelijk gelukt. Dus misschien kan het ook voor jou werken.


Antwoord 20

Ik had hetzelfde probleem en na een tijdje zag ik dat ik een rootgebruiker ben (met sudo -s). Kan dit iemand helpen.


Antwoord 21

Ik heb dit probleem opgelost door de terminal opnieuw op te starten(een nieuw venster/tabblad openen).

Dus als je het onderliggende probleem niet echt wilt/moet begrijpen, is de testmethode het proberen waard voordat je dieper gaat graven 🙂


Antwoord 22

Je moet HTTPS gebruiken voor Git:

Typ dit in de Terminal:

$ git remote set-url origin abc@***.com:path/to/httpURLRepo

Verbind dan:

$ git add .
$ git commit -m "This is the commit message"

Antwoord 23

Ik heb alles geprobeerd, inclusief het genereren van een nieuwe sleutel, het toevoegen aan het GitHub-account, het bewerken van .ssh/configen .git/config. Maar toch gaf het me dezelfde fout.
Toen probeerde ik het volgende commando en het werkt met succes.

ssh-agent bash -c 'ssh-add ~/.ssh/id_rsa; git clone [email protected]:username/repo.git'

Antwoord 24

oktober 2020 bijgewerkt

In de meeste gevallen, wanneer je meer dan één gebruiker toegang hebt tot dezelfde git-server vanaf hetzelfde clientsysteem, wordt die tijd git-server verward met de toegangssleutel met de gebruiker die beide gebruikers hebben toegestaan, maar wanneer je het commando op dat moment afvuurt, wordt het gebruikt standaardgebruiker.

ssh -T [email protected]

kijk welke gebruiker je actief probeert te pushen met die gebruiker

de eenvoudige oplossing verwijdert de ongebruikte openbare gebruikerssleutel van de git-server.

probeer dan te git fetch of pull, push het zal voor mij werken


Antwoord 25

Ik heb het probleem zojuist ontmoet en los het op door: git config user.email "youremail".


bijwerken:
De oorzaak is misschien mijn slechte netwerk en slechte proxy.
Ik weet nog steeds niet waarom het gebeurde, maar elke keer dat deze fout optreedt, werkt dit commando!!!


Antwoord 26

In mijn geval was het de postBuffer..

git config --global http.postBuffer 524288000

Lees voor referentie: https://gist.github.com/marcusoftnet/1177936


Antwoord 27

Ik had dezelfde fout, waardoor ik bij dit antwoord kwam dat me niet hielp.
Ik probeerde voor het eerst een nieuwe “kale” repository te maken met behulp van de onderstaande opdrachten om naar een NTFS-locatie te traceren:

cd myrepository
git init --bare \\myserver.mycompany.local\myrepository.git
git init
git status
git add .
git status
git commit -m "Initial Commit"
git remote add origin \\myserver.mycompany.local\myrepository.git
git push -u origin master
git status

Mijn probleem bleek de back slashes te gebruiken in plaats van forward slashes in de NTFS-locatie bij het toevoegen van oorsprong om de (nieuwe) gevolgde upstream branch in te stellen.

Ik moest de oorsprong verwijderen met:

git remote rm origin

Voeg vervolgens de oorsprong opnieuw toe met de verwachte schuine strepen naar voren

git remote add origin //myserver.mycompany.local/myrepository.git

Ik hoop dat dit iemand in de toekomst helpt.


Antwoord 28

Ik krijg deze fout nadat ik van computer ben veranderd. Ik gebruik SourceTree met Bitbucket.

Dus moest ik de SSH-toets toevoegen die wordt gegenereerd door Sourcetree, op de nieuwe computer, in Bitbucket-instellingen & GT; Beveiliging & GT; SSH-toetsen, terwijl u op het web bent aangesloten op mijn bitbucket-account.


29

user@server:/etc/nginx$ cat .git/config 
...
[remote "origin"]
    url = [email protected]:user/.git
    fetch = +refs/heads/*:refs/remotes/origin/*
...

  1. Gebruik SSH in plaats van HTTPS.
  2. Om SSH-sleutel in Git te gebruiken (SSH-sleutel toevoegen).
  3. Als u root bent, gebruikt u de SSH-toets.

$ sudo ssh-keygen
$ cat /root/.ssh/id_rsa.pub 
$ git init
$ git add file
$ git commit -m "add first file"
$ git remote add origin [email protected]:user/example.git 
$ git push -u origin master

Other episodes