2016-07-17 27 views
-2

Ich möchte ein Git Repository zu meinem ubuntu durch ssh klonen, aber ich bin immer folgende Fehlermeldung:Git-Klon über SSH Problem

Permission denied (publickey). fatal: Could not read from remote repository.

Meine öffentlichen Schlüssel in dem Agenten hinzugefügt wird, und ich habe es verwendet, schon unter Windows, aber als ich es unter Linux ausprobiert habe, hat es nicht funktioniert.

+1

Wenn Sie zu Linux gewechselt sind, haben Sie Ihren privaten Schlüssel mitgenommen und in Ihren '~/.ssh Ordner gelegt? – Lix

+0

Ja, und nannte es: "id_rsa". – Robin

+0

Werfen Sie einen Blick auf [diese Antwort] (http://stackoverflow.com/a/25902177/558021). Es ermöglicht Ihnen, einen bestimmten SSH-Schlüssel anzugeben, der verwendet werden soll, wenn Sie mit github.com sprechen. – Lix

Antwort

1

Jeder remote git Repo ist mit einer Anmeldung verbunden, die auf dem Remote-System ausgeführt wird, um Zugriff auf das Repo-Verzeichnis zu erhalten. Dieser Anmeldeversuch schlägt fehl, weil Ihr SSH-Schlüssel nicht erkannt wird (oder von einem SSH-Agenten auf Ihrem Computer nicht korrekt bedient wird), und (b) Kennwort-Login ist keine Alternative .

Um das Problem zu diagnostizieren, entfernen Sie git aus dem Bild. Verwenden Sie git remote -v, um den Benutzer/Host zu finden, der versucht wird, und versuchen Sie eine direkte ssh Anmeldung für dieses Konto. (Es wird fehlschlagen.) Diagnostizieren Sie das Problem wie bei einem ähnlichen ssh-only-Problem. Sobald Sie sich einloggen können, können Sie klonen.

0

Git tut es ist über ssh (in Ihrem Fall) oder https. Es ist im Allgemeinen besser, Verbindungsprobleme mit dem zugrunde liegenden Befehl zu debuggen und nicht über Git, Sie erhalten bessere Diagnosen und können normale SSH-Debugging-Techniken verwenden.

Versuchen Sie die Verbindung zur gleichen Fernbedienung nur mit ssh -v (ssh im ausführlichen Modus). Wenn es git clone [email protected]:schwern/dotfiles.git ist, versuchen Sie ssh -v [email protected]. Nur der Benutzer und der Gastgeber. Und ja, der Benutzer sollte git sein, identifiziert Github Sie mit Ihrem ssh-Schlüssel.

Sie sollten etwas wie diese erhalten ...

$ ssh -v [email protected] 
OpenSSH_7.2p1, OpenSSL 1.0.2h 3 May 2016 
debug1: Reading configuration data /Users/schwern/.ssh/config 
debug1: Reading configuration data /opt/local/etc/ssh/ssh_config 
debug1: Connecting to github.com [192.30.253.113] port 22. 
debug1: Connection established. 
debug1: key_load_public: No such file or directory 
debug1: identity file /Users/schwern/.ssh/id_rsa type -1 

...a whole lot of ssh looking for your ssh keys... 

debug1: Authentications that can continue: publickey 
debug1: Next authentication method: publickey 
debug1: Offering RSA public key: /Users/schwern/.ssh/github 
debug1: Authentications that can continue: publickey 
debug1: Trying private key: /Users/schwern/.ssh/id_rsa 
debug1: Trying private key: /Users/schwern/.ssh/id_dsa 

...a whole lot of trying ssh keys... 

debug1: No more authentication methods to try. 
Permission denied (publickey). 

die wichtigen Teile sind, wo es aussieht und bietet Tasten. Wenn Sie Ihren Github-Schlüssel dort nicht sehen, müssen Sie herausfinden, warum. Wenn Sie Ihren Github-Schlüssel dort sehen, sollten Sie überprüfen, ob Github dies für Ihren Schlüssel hält.

Was Sie sehen wollen, ist dies.

$ ssh -v [email protected] 
OpenSSH_7.2p1, OpenSSL 1.0.2h 3 May 2016 
debug1: Reading configuration data /Users/schwern/.ssh/config 
debug1: Reading configuration data /opt/local/etc/ssh/ssh_config 
debug1: Connecting to github.com [192.30.253.113] port 22. 
debug1: Connection established. 
debug1: key_load_public: No such file or directory 
debug1: identity file /Users/schwern/.ssh/id_rsa type -1 

...ssh finding your keys... 

debug1: Authentications that can continue: publickey 
debug1: Next authentication method: publickey 
debug1: Offering RSA public key: /Users/schwern/.ssh/github 
debug1: Server accepts key: pkalg ssh-rsa blen 279 
debug1: Authentication succeeded (publickey). 
Authenticated to github.com ([192.30.253.113]:22). 

...Yay! You're in!... 

debug1: channel 0: new [client-session] 
debug1: Entering interactive session. 
debug1: pledge: network 
debug1: Requesting authentication agent forwarding. 
PTY allocation request failed on channel 0 
Hi schwern! 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 
Connection to github.com closed. 
Transferred: sent 2936, received 1796 bytes, in 0.2 seconds 
Bytes per second: sent 13380.7, received 8185.2 
debug1: Exit status 1