2015-06-13 6 views
5

Schritt ich getan hatte: https://help.github.com/articles/generating-ssh-keys/ genau folgen.Github: Berechtigung verweigert (publickey) aber ich habe "Sie haben erfolgreich authentifiziert" Nachricht

$ eval "$(ssh-agent -s)" 
Agent pid 31944 
$ ssh-add 
Enter passphrase for /home/centos7/.ssh/id_rsa: 
Identity added: /home/centos7/.ssh/id_rsa (/home/centos7/.ssh/id_rsa) 

$ ssh-add -l 
4096 ab:4d:23:23:99:ce:bb:9d:9f:9e:f9:b2:c8:1a:cd:f7 /home/centos7/.ssh/id_rsa (RSA) 

Allerdings, wenn ich

$ git clone [email protected]:privateRepo/repo.git 

Cloning into 'repo'... 
The authenticity of host 'github.com (192.30.252.130)' can't be established. 
RSA key fingerprint is 56:27:ac:a5:36:28:2d:36:23:1b:56:4d:eb:df:a6:48. 
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the list of known hosts. 
Permission denied (publickey). 
fatal: Could not read from remote repository. 

Unten laufen die Ausgabe I

$ ssh -Tv [email protected] 

OpenSSH_6.6.1, OpenSSL 1.0.1e-fips 11 Feb 2013 
debug1: Reading configuration data /home/centos7/.ssh/config 
debug1: /home/centos/.ssh/config line 1: Applying options for *github.com 
debug1: Reading configuration data /etc/ssh/ssh_config 
debug1: /etc/ssh/ssh_config line 56: Applying options for * 
debug1: Connecting to github.com [192.30.252.131] port 22. 
debug1: Connection established. 
debug1: identity file /home/centos7/.ssh/id_rsa type 1 
debug1: identity file /home/centos7/.ssh/id_rsa-cert type -1 
debug1: identity file /home/centos7/.ssh/id_dsa type -1 
debug1: identity file /home/centos7/.ssh/id_dsa-cert type -1 
debug1: identity file /home/centos7/.ssh/id_ecdsa type -1 
debug1: identity file /home/centos7/.ssh/id_ecdsa-cert type -1 
debug1: identity file /home/centos7/.ssh/id_ed25519 type -1 
debug1: identity file /home/centos7/.ssh/id_ed25519-cert type -1 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_6.6.1 
debug1: Remote protocol version 2.0, remote software version libssh-0.7.0 
debug1: no match: libssh-0.7.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: kex: ecdh-sha2-nistp256 need=20 dh_need=20 
debug1: kex: ecdh-sha2-nistp256 need=20 dh_need=20 
debug1: sending SSH2_MSG_KEX_ECDH_INIT 
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY 
debug1: Server host key: RSA 56:27:ac:a5:36:28:2d:36:23:1b:56:4d:eb:df:a6:48 
debug1: Host 'github.com' is known and matches the RSA host key. 
debug1: Found key in /home/centos/.ssh/known_hosts:1 
Warning: Permanently added the RSA host key for IP address '192.30.252.131' to the list of known hosts. 
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: Offering RSA public key: /home/centos7/.ssh/id_rsa 
debug1: Server accepts key: pkalg ssh-rsa blen 535 
debug1: Authentication succeeded (publickey). 
Authenticated to github.com ([192.30.252.131]:22). 
debug1: channel 0: new [client-session] 
debug1: Entering interactive session. 
debug1: Sending environment. 
debug1: Sending env LANG = en_US.UTF-8 
debug1: Sending env LC_CTYPE = UTF-8 
Hi tomkim! You've successfully authenticated, but GitHub does not provide shell access. 
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 
debug1: channel 0: free: client-session, nchannels 1 
Transferred: sent 4128, received 2040 bytes, in 0.5 seconds 
Bytes per second: sent 8000.8, received 3953.9 
debug1: Exit status 1 

laufen Da die Linie über dem Hi tomkim! You've successfully authenticated, but GitHub does not provide shell access. zeigte das bedeutet, dass ich schon unthenticated, aber warum kann ich‘ t klon mein Repo?

Update: ich in meinem Home-Verzeichnis klonen kann, aber wenn ich mit sudo versuchen, es hat nicht funktioniert, es in meinem/var/www passieren/html/Ordner

$ sudo git clone git @ github.privateRepo/repo.git In 'Repo' klonen ... Warnung: Den Host-Schlüssel RSA für die IP-Adresse '192.30.252.131' dauerhaft zur Liste der bekannten Hosts hinzugefügt. Berechtigung verweigert (publickey). fatal: Konnte nicht vom Remote-Repository lesen.

Bitte stellen Sie sicher, dass Sie die richtigen Zugriffsrechte haben und das Repository existiert.

$ git Klon [email protected]/repo.git Klonen in 'Repo' ... remote: Zählen von Objekten: 4741, fertig. remote: Summe 4741 (Delta 0), Wiederverwendung 0 (Delta 0), Paket-Wiederverwendung 4741 Empfangene Objekte: 100% (4741/4741), 30.30 MiB | 5,83 MiB/s, fertig. Auflösungsdeltas: 100% (1451/1451), fertig. [centos @ ip-172-31-12-124 ~] $ ll insgesamt 4 drwxrwxr-x. 12 Centos Centos 4096 Jun 15 04:16 Repo

Ich weiß, ich kann mit HTTPS klonen, aber ich möchte dieses Problem lösen, kann jeder helfen?

+0

Versuchen Sie, Ihr eigenes Repository oder eines anderen zu klonen? – Chris

+0

Ja. Ich versuche mein eigenes Repo kann auch nicht. Das obige Beispiel ist ein privates Repo. Der Git Clone funktioniert nicht in SSH. –

+0

Wenn Sie sagen, dass Sie versuchen, privateRepo/repo.git zu klonen, sollte "privateRepo" ein * Benutzer * oder * Organisation * sein, kein Repository. Etwas wie '[email protected]: user/project.git' ist genauer. Machst du das? – Chris

Antwort

5

Die Antwort ist ein verwandtes Benutzerberechtigungsproblem. Ich muss die richtige Ordnerberechtigung für den aktuellen Benutzer festlegen.

für den GIT sudo Problem, kann die Antwort gefunden Link unten in werden:

https://help.github.com/articles/error-permission-denied-publickey/#should-the-sudo-command-be-used-with-git

Dank Chris für in dieser Frage suchen.

+0

Nachdem ich 'ls -la' gemacht habe, habe ich festgestellt, dass der Benutzername anders ist, wenn ich einen Ordner von FTP erstelle, und von der Eingabeaufforderung aus ist das anders. Ordner wurde per FTP erstellt, dann funktionierte es korrekt. – mujaffars

+0

können Sie näher ausführen "Ich muss die richtige Ordnerberechtigung für den aktuellen Benutzer festlegen"? Was genau haben Sie getan, um das Problem zu lösen? – FuzzyTree

+0

z. B. ich bin als Tom anmelden, muss ich den Besitzer des Ordners Tom –

-1

Kopieren Sie Ihren öffentlichen SSH-Schlüssel in Ihr SSH-Verzeichnis.

cd ~/.ssh 
cat id_rsa.pub 

Kopieren Sie die Kneipe Schlüssel und fügen Sie unter „SSH und GPG-Schlüssel“ unter GIT Seite „Einstellungen“.

Klicken Sie auf Ihr Profilfoto -> "Einstellungen" -> "SSH und GPG-Taste", fügen Sie nun den kopierten Text hinzu.

+0

Willkommen bei Stackoverflow. Es wäre besser, wenn Sie die [How to Answer] (https://stackoverflow.com/help/how-to-answer) Seite für künftige Bemühungen bei Stack-Überlauf auschecken. -Vielen Dank – Momin

Verwandte Themen