2016-08-07 13 views
-1

Es gibt viele ähnliche Fragen und Antworten zu diesem Autorisierungsproblem --- "Permission denied (publickey)". Jedoch funktioniert keiner von ihnen für mein Problem ...Berechtigung verweigert (publickey) Git und AWS EC2

Hier ist meine Situation: Ich benutze Amazon Web Server EC2 und mein PC verbindet sich gut mit dem Server. Für den nächsten Schritt habe ich versucht, git auf dem Server zu installieren. Das Ergebnis, das ich zu erreichen hoffte, ist das Aktualisieren des Server-Endes, wenn ich von lokal aus drücke. Aber hier ist das Problem aufgetaucht: „Zugriff verweigert (publickey)“

OpenSSH_6.9p1, LibreSSL 2.1.8 
debug1: Reading configuration data /Users/IvyLin/.ssh/config 
debug1: Reading configuration data /etc/ssh/ssh_config 
debug1: /etc/ssh/ssh_config line 21: Applying options for * 
debug1: /etc/ssh/ssh_config line 56: Applying options for * 
debug1: Connecting to 52.68.24.4 [52.68.24.4] port 22. 
debug1: Connection established. 
debug1: identity file /Users/IvyLin/.ssh/id_rsa type 1 
debug1: key_load_public: No such file or directory 
debug1: identity file /Users/IvyLin/.ssh/id_rsa-cert type -1 
debug1: key_load_public: No such file or directory 
debug1: identity file /Users/IvyLin/.ssh/id_dsa type -1 
debug1: key_load_public: No such file or directory 
debug1: identity file /Users/IvyLin/.ssh/id_dsa-cert type -1 
debug1: key_load_public: No such file or directory 
debug1: identity file /Users/IvyLin/.ssh/id_ecdsa type -1 
debug1: key_load_public: No such file or directory 
debug1: identity file /Users/IvyLin/.ssh/id_ecdsa-cert type -1 
debug1: key_load_public: No such file or directory 
debug1: identity file /Users/IvyLin/.ssh/id_ed25519 type -1 
debug1: key_load_public: No such file or directory 
debug1: identity file /Users/IvyLin/.ssh/id_ed25519-cert type -1 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_6.9 
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1 
debug1: match: OpenSSH_6.6.1 pat OpenSSH_6.6.1* compat 0x04000000 
debug1: Authenticating to 52.68.24.4:22 as 'git' 
debug1: SSH2_MSG_KEXINIT sent 
debug1: SSH2_MSG_KEXINIT received 
debug1: kex: server->client [email protected] <implicit> none 
debug1: kex: client->server [email protected] <implicit> none 
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY 
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:ieQEskLZ3tiW76F5KPhlQfHcGYFW+SifiIDQnBUZHmY 
debug1: Host '52.68.24.4' is known and matches the ECDSA host key. 
debug1: Found key in /Users/IvyLin/.ssh/known_hosts:5 
debug1: SSH2_MSG_NEWKEYS sent 
debug1: expecting SSH2_MSG_NEWKEYS 
debug1: SSH2_MSG_NEWKEYS received 
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: /Users/IvyLin/.ssh/id_rsa 
debug1: Authentications that can continue: publickey 
debug1: Offering RSA public key: /Users/IvyLin/.ssh/id_rsa 
debug1: Authentications that can continue: publickey 
debug1: Trying private key: /Users/IvyLin/.ssh/id_dsa 
debug1: Trying private key: /Users/IvyLin/.ssh/id_ecdsa 
debug1: Trying private key: /Users/IvyLin/.ssh/id_ed25519 
debug1: No more authentication methods to try. 
Permission denied (publickey). 

Eine Sache, ich frage mich, wo soll ich den öffentlichen Schlüssel genau setzen? Es gibt eine .ssh-Datei für "validate server connection" bereits im Server, Pfad: ~/.ssh und es funktioniert für mich. In Bezug auf den SSH-Schlüssel für Git, erstellt ich einen anderen .ssh-Ordner im Ordner git, Pfad: ~/home/git/.ssh. Nach welcher Datei sucht sie während der Verbindung? Obwohl ich versucht habe, den öffentlichen Schlüssel in ~/.ssh zu setzen, aber immer noch, es funktioniert nicht ...

Ich bin dort für so lange Zeit stecken geblieben und wirklich geschätzt, wenn mir jemand helfen kann! Workarounds, um "update as push" zu erreichen, werden mir ebenfalls helfen!

+0

kopieren Was ist der Name der Datei Ihren Schlüssel enthält? – Jakuje

+0

zum Speichern öffentlicher Schlüssel auf dem Server-Ende, ist es ~ ~/.ssh/authorized_keys @ @ Jakuje –

+0

Nein, in Ihrem lokalen Computer. Wenn Sie es selbst auf dem Server gespeichert haben, stellen Sie sicher, dass die Berechtigungen für 'ls -l ~ ~/.ssh ~/.ssh/authorized_keys' festgelegt sind. – Jakuje

Antwort

0

Eine Sache, die ich frage, ist, wo sollte ich den öffentlichen Schlüssel genau setzen?

Sie müssen den öffentlichen Schlüssel auf Ihrem Git-Server unter Ihrem Konto setzen.

In welcher Datei sucht er während der Verbindung?

Sie haben die ~/.ssh/id_rsa.pub zu Ihrem git-Server-Konto

+0

Hallo! Danke für die Antwort! Ich habe den öffentlichen Schlüssel in die '~/.ssh/authorized_keys' auf der Serverseite gelegt, aber es gibt immer noch den Fehler ... Irgendwelche anderen Möglichkeiten, damit es falsch geht? Wenn beide Schlüssel unter das Serverkonto gestellt werden sollen, bedeutet das, dass sie zu einem Server zusammengeführt werden können? Oder wir brauchen Konfigurationsdateien, um sie zu unterscheiden ... Ich bin verwirrt ... –

+0

Sie müssen die Konfigurationsdatei unterscheiden und verwenden – CodeWizard

Verwandte Themen