Github-toestemming geweigerd: ssh add-agent heeft geen identiteiten

Dit is de eerste keer dat ik GitHub gebruik en ik heb geen ervaring met het gebruik van een console. Ik gebruik een MacBook met Bash. Als ik GitHub probeer te openen, krijg ik dit:

git clone [email protected]:dhulihan/league-of-legends-data-scraper.git
Cloning into 'league-of-legends-data-scraper'...
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 de instructies op de Github-pagina te volgen over het weigeren van toestemming.

Als ik ssh -vT [email protected]gebruik, krijg ik het volgende:

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to github.com [192.30.252.129] port 22.
debug1: Connection established.
debug1: identity file /Users/XXXX/.ssh/id_rsa type -1
debug1: identity file /Users/XXXX/.ssh/id_rsa-cert type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version libssh-0.6.0
debug1: no match: libssh-0.6.0
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Server host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /Users/XXXX/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/XXXX/.ssh/id_rsa
debug1: Trying private key: /Users/XXXX/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).

Vervolgens, eval "$(ssh-agent -s)"retourneert “Agent pid 2314”,
echter ssh-add -lretourneert “De agent heeft geen identiteit.”

En daar zit ik vast.


Antwoord 1, autoriteit 100%

Volledige details in dit antwoord.

Samengevat, wanneer ssh-add -lretourneert “De agent heeft geen identiteiten”, betekent dit dat de sleutels die worden gebruikt door ssh(opgeslagen in bestanden zoals ~/.ssh/id_rsa, ~/.ssh/id_dsa, etc.) ontbreken, ze zijn niet bekend bij ssh-agent, die de authenticatie-agent is, of dat hun machtigingen onjuist zijn ingesteld (bijvoorbeeld world writable).

Als uw sleutels ontbreken of als u er geen heeft gegenereerd, gebruikt u ssh-keygen -t rsaen vervolgens ssh-addom ze toe te voegen.

Als sleutels bestaan ​​maar niet bekend zijn bij ssh-agent(bijvoorbeeld als ze in een niet-standaard map staan), gebruik dan ssh-add /path/to/my-non-standard-ssh-folder/id_rsaom ze toe te voegen.

Bekijk dit antwoordals u problemen met ssh-addof  ssh-agent.


Antwoord 2, autoriteit 56%

probeer dit:

ssh-add ~/.ssh/id_rsa

werkte voor mij


Antwoord 3, autoriteit 18%

HET 2019 ANTWOORD voor macOS Sierra & Hoge Sierra & Catalina:

PS: bij de meeste andere antwoorden moet je een nieuwe ssh-sleutel maken … maar dat hoef je niet te doen 🙂

Zoals in detail beschreven op https://openradar.appspot.com/27348363, macOS/OS X tot Yosemite onthield SSH-sleutels toegevoegd met het commando ssh-add -K <key>

Dus hier zijn de 4 stappen die ik moest nemen om het te laten werken:

1:ssh-add ~/.ssh/PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)

2:Voeg het volgende toe in ~/.ssh/config

Host * 
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)

3:zorg ervoor dat u alle gitconfig-vermeldingen verwijdert die de osxkeychain-helper gebruiken:

https://github.com/gregory/dotfiles/commit/e38000527fb1a82b577f2dcf685aeefd3b78a609#diff-6cb0f77b38346e0fed47293bdc6430c6L48

4:start uw terminal opnieuw op om deze van kracht te laten worden.


Antwoord 4, autoriteit 6%

Ik zit al een tijdje met hetzelfde probleem, dat ik uiteindelijk heb opgelost.

Mijn probleem: ik kon geen enkele push uitvoeren. Ik zou kunnen controleren & zie mijn afstandsbediening (met behulp van git remote -v), maar toen ik git push origin masteruitvoerde, gaf het terug: Permission denied (publickey). fatal: Could not read from remote repository.en zo.

Hoe ik het heb opgelost:

  • Ik heb een sleutel gegenereerdmet behulp van ssh-keygen -t rsa. Het invoeren van een naam voor het sleutelbestand (wanneer daarom werd gevraagd) was nutteloos.
  • Ik zou dan de sleutel (aan git) kunnen toevoegen: ssh-add /Users/federico/.ssh/id_rsa, die met succes Identity added: /Users/myname/.ssh/id_rsa (/Users/myname/.ssh/id_rsa)
  • Ik heb de SSH-sleutel toegevoegd aan githubmet behulp van deze helppagina.
  • Na alle commando’s op Github’s ‘Permission geweigerd publickey’-helppagina te hebben geprobeerd, werkte alleen het ssh-add -lcommando / leek nuttig (na het uitvoeren van de vorige stappen), het gaf met succes mijn toets. De laatste staplaat je zien waar je je openbare sleutel kunt controleren op je GitHub-pagina. En met dit commando kun je al je sleutels controleren: ls -al ~/.ssh.

Toen werkte het push-commando uiteindelijk!

Ik hoop dat dit zal helpen!
Veel succes aan iedereen.


Antwoord 5, autoriteit 3%

Voer de volgende opdrachten uit:

ssh-keygen -t rsa
ssh-add /Users/*yourUserNameHere*/.ssh/id_rsa** 
pbcopy < ~/.ssh/id_rsa.pub**

Ga naar je Github-account: https://github.com/settings/profile

1) Klik op : SSH- en GPG-sleutels

2) Nieuwe SSH-sleutel en daar plakken

3) SSH-sleutel toevoegen

Klaar!


Antwoord 6, autoriteit 2%

allereerst moet je in je ssh directory gaan
voor dit type volg je het commando in je terminal in mac of wat je ook gebruikt in het venster

cd ~/.ssh

nu staat het in de ssh
hier kun je al je ssh-sleutels/-bestanden vinden die betrekking hebben op al je projecten. typ nu de volgende opdracht om u te laten zien of er een ssh-sleutel beschikbaar is

ls

dit laat je alle beschikbare ssh zien, in mijn geval waren het er twee
nu moet je een agent starten om er een ssh aan toe te voegen. Voor dit type volgt u het commando

eval "$(ssh-agent -s)"

nu last but not least voeg je een ssh toe in dit agenttype na het commando

ssh-add ~/.ssh/your-ssh

vervang

vervang uw-ssh door uw ssh-bestandsnaam waarvan u een lijst hebt gekregen van de tweede stap ls command


Antwoord 7, autoriteit 2%

Dit kan ertoe leiden dat voor elke nieuwe terminal de agent-ID anders is.
U moet de privésleutel voor de agent toevoegen

$ ssh-add <path to your private key>

Antwoord 8

Dit werkte voor mij:
chmod 700 .ssh
chmod 600 .ssh/id_rsa
chmod 644 .ssh/id_rsa.pub

Typ vervolgens dit:
ssh-add ~/.ssh/id_rsa


Antwoord 9

Voor mijn mac Big Sur, met de kern van bovenstaande antwoorden, werken de volgende stappen voor mij.

$ ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsa
$ ssh-add ~/.ssh/id_rsa

En de openbare ssh-sleutel toegevoegd aan git hub door de instructie te volgen;

https://docs.github.com/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account

Als alles goed is gegaan,
je zou het volgende resultaat moeten kunnen krijgen;

$ ssh -T [email protected]
Hi user_name! You've successfully authenticated,...

Antwoord 10

Een extra element dat ik me realiseerde, is dat de .ssh-map meestal wordt gemaakt in je hoofdmap in Mac OS X /Users/. Als je ssh -vT [email protected] uit een andere map probeert te gebruiken, krijg je een foutmelding, zelfs als je de juiste sleutel had toegevoegd.

Je moet de sleutel opnieuw toevoegen (ssh-add ‘correct path to id_rsa’) uit de huidige map om succesvol te authenticeren (ervan uitgaande dat je de sleutel al naar je profiel in Git hebt geüpload)


Antwoord 11

Ik had dit probleem na het herstellen van een harde schijf vanaf een back-up.

Mijn probleem:
Ik zou kunnen controleren & zie mijn afstandsbediening (met git remote -v), maar toen ik git push origin master uitvoerde, keerde het terug: Toestemming geweigerd (publickey). fataal: kon niet lezen van externe repository.

Ik had al een SSH-map en SSH-sleutels, en door ze toe te voegen via Terminal (ssh-add /path/to/my-ssh-folder/id_rsa) heb ik mijn identiteit met succes toegevoegd, maar ik heb nog steeds kon niet pushen en kreeg nog steeds dezelfde fout. Het genereren van een nieuwe sleutel was een slecht idee voor mij, omdat het gekoppeld was aan andere zeer veilige machtigingen op AWS.

Het bleek dat de link tussen de sleutel en mijn Github-profiel was verbroken.

Oplossing:
De sleutel opnieuw toevoegen aan Github in Profiel > Instellingen > SSH- en GPG-sleutels hebben het probleem opgelost.

Ook:
Mijn account had 2-factor authenticatie ingesteld. Als dit het geval is en Terminal om inloggegevens vraagt, gebruik dan uw gebruikersnaam – maar NIET uw Github-wachtwoord. Voor 2-factor-authenticatie moet je je authenticatiecode gebruiken (voor mij werd deze gegenereerd door Authy op mijn telefoon en moest ik deze naar Terminal kopiëren voor de pw).


Antwoord 12

tl;dr

ssh-add # no parameter
# Identity added: /home/<user>/.ssh/id_rsa (user@host)

Verdere metingen

twee bestanden nodig in de ssh – user – map:

ls ~/.ssh
id_rsa id_rsa.pub

Als de bestanden er niet zijn, typt u het commando ssh-keygen

Start nu de ssh-agent:

eval `ssh-agent -s`

Verifiëren

ssh-add -l
# voila:
2048 SHA256:<key one> user@host (RSA)

Bonus

controleer de lokale SHA256van bovenaf met de Github SHA256uit uw gebruikersinstellingen -> SSH-sleutels. Als ze gelijk zijn, zou je in staat moeten zijn om met je toetsen naar/van Github te duwen/trekken.


Antwoord 13

Na lang worstelen was ik eindelijk in staat om dit probleem op Windows op te lossen. Voor mij was de User env-variabele GIT_SSH ingesteld om te verwijzen naar

“C:\Program Files(x86)\WinScp\PuTTY\plink.exe”

die samen met WinScp is geïnstalleerd. Ik heb de verwijzing gewijzigd om de standaard ssh.exete gebruiken die wordt geleverd met git-scm“C:\Program Files\Git\usr\bin\ssh.exe”


Antwoord 14

Stappen voor BitBucket:

als u geen nieuwe sleutel wilt genereren, SKIP ssh-keygen

ssh-keygen -t rsa 

Kopieer de openbare sleutel naar het klembord:

clip < ~/.ssh/id_rsa.pub

Aanmelden bij Bit Bucket:
Ga naar Profiel bekijken -> Instellingen -> SSH-sleutels (op het tabblad Beveiliging)
Klik op Sleutel toevoegen,
Plak de sleutel in het vak, voeg een beschrijvende titel toe

Ga terug naar Git Bash:

ssh-add -l

Je zou moeten krijgen:

2048 SHA256:5zabdekjjjaalajafjLIa3Gl/k832A /c/Users/username/.ssh/id_rsa (RSA)

Nu: git pullzou moeten werken


Antwoord 15

Dit werkte ook voor mij:
chmod 700 .ssh
chmod 600 .ssh/id_rsa
chmod 644 .ssh/id_rsa.pub

Typ vervolgens dit: ssh-add ~/.ssh/id_rsa

Other episodes