it-swarm.com.de

Github-Berechtigung abgelehnt: Der Agent ssh add hat keine Identitäten

Dies ist mein erster Zugriff auf Github, und ich habe keine Erfahrung mit der Konsole. Ich bin auf einem Macbook (mit Bash). Wenn ich versuche, auf Github zuzugreifen, erhalte ich Folgendes:

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.

Ich habe versucht, den Anweisungen auf der Github-Seite über Permission denied .__ zu folgen. Wenn ich ssh -vT [email protected] verwende, erhalte ich Folgendes:

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).

Als nächstes gibt eval "$ (ssh-agent -s)" "Agent pid 2314" zurück .__

Und da stecke ich fest. Ich habe versucht, dieses Problem zu googeln und hier nach SO zu suchen. Ich habe versucht, auf Dateien im Verzeichnis ssh zuzugreifen, aber es gibt keine. Nur ein Ordner namens Knownusers.

Kann mir jemand bei diesem Problem helfen?

94
Dark

Vollständige Angaben in dieser Antwort

Zusammenfassend bedeutet dies: Wenn ssh-add -lThe agent has no identities zurückgibt, bedeutet dies, dass Schlüssel, die von ssh verwendet werden (in Dateien wie ~/.ssh/id_rsa, ~/.ssh/id_dsa usw. gespeichert) fehlen, dem Authentifizierungsagenten nicht bekannt sind (ssh-agent ) oder ihre Berechtigungen sind falsch eingestellt (z. B. schreibgeschützt).

Wenn Ihre Schlüssel fehlen (d. H. Sie haben keine Schlüssel generiert), verwenden Sie 'ssh-keygen' (z. B. ssh-keygen -t rsa), um sie zu generieren, und fügen Sie sie mit ssh-add hinzu.

Wenn Schlüssel vorhanden sind, aber ssh-agent nicht bekannt ist (z. B. können sie sich in einem nicht standardmäßigen Ordner befinden), verwenden Sie 'ssh-add' (z. B. ssh-add /path/to/my-ssh-folder/id_rsa), um sie hinzuzufügen.

Sehen Sie diese Antwort , wenn Sie Probleme mit ssh-add oder ssh-agent haben.

127
John Doedoe

versuche dies:

ssh-add ~/.ssh/id_rsa

arbeitete für mich

82
Boltun Oreh

DIE ANTWORT 2017 FÜR macOs Sierra & High Sierra: 

PS: Für die meisten anderen Antworten müssen Sie einen neuen SSH-Schlüssel erstellen ... aber Sie müssen das nicht tun :) 

Wie im Detail unter https://openradar.appspot.com/27348363 , macOS/OS X beschrieben, bis Yosemite SSH-Schlüssel verwendet, die mit dem Befehl ssh-add -K <key> hinzugefügt wurden

Hier also die 4 Schritte, die ich machen musste, damit es funktioniert: 

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

2: Fügen Sie Folgendes in ~/.ssh/config hinzu.

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

3: Entfernen Sie jeden gitconfig-Eintrag, der den osxkeychain-Helper verwendet:

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

4: Starten Sie Ihr Terminal neu, damit es wirksam wird.

25
metakungfu

Ich bin seit einiger Zeit an das gleiche Problem gehaftet, das ich schließlich gelöst habe.

Mein Problem: Ich konnte keinen Push ausführen. Ich konnte meine Fernbedienung überprüfen und sehen (mit git remote -v), aber als ich git Push Origin master ausführte, gab sie Folgendes zurück: Permission denied (publickey). fatal: Could not read from remote repository. und so.

Wie ich es gelöst habe:

  • Ich habe einen Schlüssel mit ssh-keygen -t rsa generiert. Die Eingabe eines Namens für die Schlüsseldatei (wenn gefragt) war sinnlos.
  • Ich könnte dann den Schlüssel hinzufügen (zu git): ssh-add /Users/federico/.ssh/id_rsa, der erfolgreich Identity added: /Users/myname/.ssh/id_rsa (/Users/myname/.ssh/id_rsa) zurückgegeben hat
  • Ich habe den SSH-Schlüssel zu githubüber diese Hilfeseite hinzugefügt. 
  • Nachdem Sie alle Befehle in Githubs Hilfeseite "Permission denied publickey" ausprobiert hatten, funktionierte nur der ssh-add -l-Befehl (nachdem er die vorherigen Schritte ausgeführt hatte), schien er nützlich zu sein. Der letzte Schritt zeigt Ihnen, wo Sie Ihren öffentlichen Schlüssel auf Ihrer GitHub-Seite überprüfen können. Mit diesem Befehl können Sie alle Ihre Schlüssel überprüfen: ls -al ~/.ssh.

Dann funktionierte der Push-Befehl schließlich!

Ich hoffe, dass dies helfen wird. Alles Gute für alle.

10
Fed Zee

Führen Sie die folgenden Befehle aus:

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

Gehen Sie zu Ihrem Github-Konto: https://github.com/settings/profile

1) Klicken Sie auf: SSH- und GPG-Schlüssel

2) Neuer SSH-Schlüssel und dort vorbei

3) Fügen Sie den SSH-Schlüssel hinzu 

Erledigt!

5
zouhair khallaf

zunächst müssen Sie in Ihr SSH-Verzeichnis gehen
für diesen Typ der folgende Befehl in Ihrem Terminal in Mac oder was auch immer Sie in Fenster verwenden 

cd ~/.ssh

jetzt ist es in der ssh
Hier finden Sie alle Ihre ssh-Schlüssel/Dateien, die sich auf Ihre Projekte beziehen. Geben Sie jetzt den folgenden Befehl ein, um anzuzeigen, ob ein SSH-Schlüssel verfügbar ist 

ls

dies zeigt Ihnen alle verfügbaren SSH, in meinem Fall gab es zwei
Jetzt müssen Sie einen Agenten starten, um eine SSH hinzuzufügen. Für diesen Typ folgt der Befehl 

eval "$(ssh-agent -s)"

zu guter Letzt fügen Sie in diesem Agententyp nach dem Befehl eine SSH hinzu 

ssh-add ~/.ssh/your-ssh

ersetzen 

ersetze your-ssh durch den Namen deiner ssh-Datei, und du erhältst eine Liste im zweiten Schritt ls command

5
Sultan Ali

Dies kann bei jedem neuen Terminal dazu führen, dass die Agenten-ID anders ist. Sie müssen den privaten Schlüssel für den Agenten hinzufügen

$ ssh-add <path to your private key>
3
user9253738

Ein weiteres Element, das mir klar wurde, ist, dass der .ssh-Ordner normalerweise in Ihrem Stammordner in Mac OS X/Users/erstellt wird. Wenn Sie versuchen, ssh -vT [email protected] aus einem anderen Ordner zu verwenden, wird ein Fehler angezeigt, auch wenn Sie den richtigen Schlüssel hinzugefügt haben.

Sie müssen den Schlüssel erneut hinzufügen (ssh-add 'richtiger Pfad zu id_rsa'), um sich erfolgreich zu authentifizieren (vorausgesetzt, Sie haben den Schlüssel bereits in Git in Ihr Profil hochgeladen).

1

Nachdem ich lange gekämpft hatte, konnte ich dieses Problem endlich unter Windows lösen. Für mich war die User-Umgebungsvariable GIT_SSH auf point gesetzt 

"C:\Programme (x86)\WinScp\PuTTY\plink.exe"

die zusammen mit WinScp installiert wurde. Ich habe das Zeigen geändert, um die Standardeinstellung ssh.exe zu verwenden, die mit git-scm "C:\Programme\Git\usr\bin\ssh.exe" geliefert wird.

0
Santan

Das hat für mich funktioniert:
chmod 700 .ssh chmod 600 .ssh/id_rsa chmod 644 .ssh/id_rsa.pub

Geben Sie dann Folgendes ein: ssh-add ~/.ssh/id_rsa

0
Nacho Cornejo

Schritte für BitBucket:

wenn Sie keinen neuen Schlüssel generieren möchten, SKIP ssh-keygen

ssh-keygen -t rsa 

Kopieren Sie den öffentlichen Schlüssel in die Zwischenablage:

clip < ~/.ssh/id_rsa.pub

Melden Sie sich bei Bit Bucket an: Gehen Sie zu Profil anzeigen -> Einstellungen -> SSH-Schlüssel (Registerkarte Sicherheit) Klicken Sie auf Schlüssel hinzufügen Fügen Sie den Schlüssel in das Feld ein und fügen Sie einen beschreibenden Titel hinzu

Gehen Sie zurück zu Git Bash:

ssh-add -l

Du solltest bekommen : 

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

Jetzt: git pull sollte funktionieren

0
Tammy