2010-12-01 7 views
3

Ich versuche, eine Anwendung zu erstellen, die das GIT-Repository auf den Computer klonen wird. Meine Frage ist, wie man das gesicherte Repository klonen kann, wenn die SSH-Schlüssel nicht am Standardort sind.Wie Klon GIT-Repository mit privaten Schlüssel

Ich möchte die Leute zum Hochladen von Schlüsseln und dann mit diesen Schlüsseln zu verbinden und klonen das Repository.

Also zum Schluss: Ich möchte nicht GIT nach Schlüssel auf Standard-Orten suchen, ich möchte es den Pfad zu der Schlüsseldatei "geben" und dann in Befehl (zusammen mit Passphrase, wenn es welche gibt) irgendwie und geklont Repository.

Vielen Dank im Voraus!

+1

"Schlüssel hochladen" - meinst du das ernst? Sprechen Sie darüber, den Benutzer dazu anzuregen, seinen privaten Schlüssel hochzuladen? Benutzer, die das tun, wissen offensichtlich nicht, was sie tun, da sie ihren privaten Schlüssel PRIVAT behalten sollten! Wenn man es an jeden überträgt, der es überträgt, gefährdet dies die Authentifizierungssicherheit und negiert jegliche Sicherheitsmaßnahmen. Ich weiß nicht, was Sie tun wollen, aber sind Sie sicher, dass das der richtige Weg ist? – Kissaki

+1

In den unten stehenden Antwortkommentaren sprechen Sie davon, dies in PHP zu realisieren, jedoch haben Sie in der Frage PHP nicht erwähnt. Können Sie das spezifizieren/ausarbeiten? Ist es auch ein PHP-Skript, das lokal ausgeführt wird, während Sie versuchen, einen Repo auf den (lokalen?) Computer zu klonen? – Kissaki

Antwort

4

Es ist nicht git wer sucht, seine SSH. Sie müssen die Schlüssel in der .ssh/authorized_keys Datei angeben, das ist der öffentliche Schlüssel btw. Der private Schlüssel wird auf dem Benutzercomputer gespeichert.

+0

Vielen Dank für Ihre Antwort. Ich habe gesehen, dass SmartGit (OS X-Anwendung) einen eigenen SSH-Client verwendet, um eine Verbindung zu Repositories herzustellen. Wie kann ich meinen eigenen SSH-Client erstellen (es ist eine PHP-Anwendung)? – Goran

+0

@Goran Die öffentlichen Schlüssel werden vom SSH-Server geprüft. Sie können auf einem vorhandenen SSH-Client aufbauen: http://en.wikipedia.org/wiki/Comparison_of_SSH_clients –

+0

Ich habe Angst, dass Sie mich nicht verstanden haben. In der SmartGit-Anwendung müssen Sie nur einen privaten Schlüssel auswählen und ein Passwort eingeben und es verbindet sich automatisch mit dem Git-Repository. Das ist genau das, was ich programmieren möchte, aber in PHP-Webanwendung ... Könnten Sie mir bitte dabei helfen? – Goran