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?
Vollständige Angaben in dieser Antwort .
Zusammenfassend bedeutet dies: Wenn ssh-add -l
The 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.
versuche dies:
ssh-add ~/.ssh/id_rsa
arbeitete für mich
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.
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:
ssh-keygen -t rsa
generiert. Die Eingabe eines Namens für die Schlüsseldatei (wenn gefragt) war sinnlos.ssh-add /Users/federico/.ssh/id_rsa
, der erfolgreich Identity added: /Users/myname/.ssh/id_rsa (/Users/myname/.ssh/id_rsa)
zurückgegeben hatssh-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.
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!
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
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>
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).
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.
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
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