2014-06-29 11 views
6

Ich habe versucht, ein privates Repository von Github über composer installiert zu bekommen. Meine composer Konfiguration ist wie folgt:Komponist Github privates Repository funktioniert nicht mit gegebenem Schlüssel

"repositories": [ 
      { 
       "type": "vcs", 
       "url": "[email protected]:{user}/{repo}.git", 
       "options": { 
        "ssh2": { 
         "user": "ranacseruet" 
         "privkey_file": "./keys/id_rsa", 
         "pubkey_file": "./keys/id_rsa.pub" 
        } 
       } 
      } 
     ] 

Es ist jedoch nicht mit dieser Konfiguration funktioniert. Es fragt immer noch nach github user/pass. Wenn jedoch die github-Berechtigung meines Systems ordnungsgemäß mit Schlüsseln eingerichtet ist, funktioniert es nur automatisch.

In jedem Fall funktioniert die Composer-Konfiguration nicht. Hat jemand anderes das gleiche Problem oder gibt es irgendetwas, was ich falsch gemacht habe? Danke im Voraus.

+0

könnten Sie versuchen, den vollständigen Pfad für privkey_file und pubkey_file –

+0

Hallo Hari, ja, ich habe es auch versucht. Aber das gleiche Ergebnis. Ich bin mir nicht sicher, aber vielleicht gibt es ein Problem mit meiner ssh2-Installation. Ich werde das überprüfen. – Rana

+0

Ein anderer Artikel kann wahrscheinlich helfen http://seld.be/notes/authentication-management-in-composer –

Antwort

1

Ich bin mir nicht sicher, was Ihr Problem ist, aber Sie könnten es auf eine andere Weise lösen mit einem ssh config file.

Damit können Sie SSH-Verbindungen konfigurieren, um spezifische Anmeldeinformationen für 'virtuelle' Hosts zu verwenden. Auf diese Weise können Sie die Verbindung mit Git-Repos ändern und somit Composer-Abhängigkeiten ändern, die ssh verwenden.

Editieren Sie ~/.ssh/config z.

Host ranacseruet_github.com 
User git 
HostName github.com 
IdentityFile [path-to]/keys/id_rsa 

ändern Sie dann Ihre composer.json die gefälschten Host zu verwenden und die SSH-Optionen entfernen:

"repositories": [ 
    { 
     "type": "vcs", 
     "url": "[email protected]_github.com:{user}/{repo}.git", 
    } 
] 

Also, wenn ssh versucht, den ‚virtuell‘ Host ranacseruet_github.com zu verbinden, wird es verwenden die angegebenen Anmeldeinformationen

Ich benutze diese Technik, um Git-Fernbedienungen zu definieren, die bestimmte Anmeldeinformationen benötigen. Es sollte über Composer genauso funktionieren, da es sich um eine allgemeinere Lösung auf ssh-Ebene handelt.