2016-12-06 3 views
1

Ich habe den in Multiple GitHub Accounts & SSH Config beschriebenen Prozess (stefano's answer) verfolgt und den SSH-Zugriff auf mehrere Repositorys mithilfe von Deploy-Schlüsseln eingerichtet. Ich habe das auf Repositories einer bestimmten GitHub-Organisation ausprobiert und es funktioniert gut - ich kann Änderungen ziehen und schieben. Ich habe das auch in meinem Benutzerbereich versucht und es funktioniert immer noch großartig.SSH-Zugriff auf GitHub-Repository

Wenn dies jedoch auf Repositorys in einer anderen GitHub Organisation versucht (zB bei git push tut) schlägt es mit dem folgenden Fehler

ERROR: Permission to XXXX/YYYY.git denied to deploy key 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 

Wenn SSH-Zugriff über ssh -T Überprüfung ich

"Hi XXX/YYYY! Sie haben sich erfolgreich authentifiziert, aber GitHub bietet keinen Shell-Zugriff."

was darauf hindeutet, dass SSH funktionieren sollte.

Ich habe die Organisation Einstellungen (Hauptseite für GitHub Organisation> Einstellungen) durchlaufen und sie haben ziemlich identische Einstellungen, außer von dem, was Sie erwarten würden, anders zu sein, z. Kontakt E-Mail etc.

Ich habe mich gefragt, ob jemand irgendwelche Ideen hat, was könnte dies verursachen. Gibt es zufälligerweise noch weitere organisatorische Einstellungen?

Antwort

0
ERROR: Permission to XXXX/YYYY.git denied to deploy key 

Das sieht aus wie Sie mit einer deploy Taste zu drücken versuchen. Dieser Schlüssel wird für die Bereitstellung und daher nur für den schreibgeschützten Zugriff Ihres Repositorys verwendet. Stellen Sie sicher, dass Sie den Schlüssel haben, der in Ihrem github-Konto registriert ist, vergewissern Sie sich, dass er verwendet wird (IdentityFile in ~/.ssh/config), und entfernen Sie den Bereitstellungsschlüssel vom standardmäßig ausgewählten Standardspeicherort (~/.ssh/id_{rsa,dsa,ecdsa,ed25519}). Beachten Sie, dass, wenn mehr "gültige" Schlüssel vorhanden sind, nur die ersten erfolgreich sind.

+0

Wollen Sie sagen, dass Deploy Keys nur für den Lesezugriff gemacht werden? Ich habe das Kontrollkästchen "Schreibzugriff" aktiviert und ich habe es auch an Repositories einer anderen GitHub-Organisation arbeiten lassen. IdentityFile in der Konfiguration wird wie vorgeschlagen festgelegt. – charisk

+0

Nun, es würde Sinn machen, readonly zu sein, aber ich sehe github unterstützt auch lesen/schreiben Deploy-Schlüssel aus irgendeinem Grund. Sicherlich ist es ein guter Anfang, zu überprüfen, ob Sie sich mit dem erwarteten Schlüssel anmelden. Die Einstellung 'LogLevel DEBUG3' in' ~/.ssh/config' hilft Ihnen dabei. – Jakuje

+0

Danke für die Zeiger. Ich möchte, dass es Schreibzugriff hat, damit mein Build-Server Änderungen z. Versions-Tags So kann ich den Anwendungsfall sehen. Ich bin jedoch überzeugt, dass dies nichts mit meinem Setup zu tun hat, sondern mit den GitHub-Einstellungen. LogLevel zeigt, dass es den richtigen Schlüssel erhält und dass es sich gut authentifiziert. Es ist nur so, dass GitHub aus irgendeinem Grund mit "Berechtigungen für XXXX/YYYY.git den Schlüssel zur Bereitstellung verweigert" zurückkommt. – charisk