Frage

Ich kann nicht herausfinden, wie für andere Benutzer auf meinem Server öffentliche / private Schlüssel erstellen. Auf meinem Server, geben Sie ich folgendes durch die Schale

(UIServer): john:> ssh-keygen -t dsa

Danach gebe ich die Dateinamen und das Passwort, die in einem privaten Schlüssel und Schlüsselpaar für „john“ erfolgreich führt. Wenn ich jetzt mit dieser Taste in meine Subversion-Repository ssh (sitzend auf John), alle Aktionen werden als „john“ angemeldet. Das ist perfekt.

Also die nächste, ich mag ein öffentliches / privates Schlüsselpaar für „George“ zu schaffen, damit er meinen Server zugreifen kann. Ich wiederholte die ssh-keygen von meinem Server. Dann gab ich den privaten Schlüssel zu George. George installierte den Schlüssel erfolgreich, aber jedes Mal, wenn er eine Aktion im SVN-Repository führt, Subversion protokolliert seine Aktionen als „John“ anstelle von „George“. Wie erhalte ich Subversion den Unterschied zwischen „George“ und „John“?

erkennen

sah ich in authorized_keys2 und ich bemerkte, dass die letzte Bemerkung zu den beiden Tasten „john @ UIServer“. Ich habe versucht, die Bearbeitung der Kommentar, aber Subversion kann immer noch nicht den Unterschied zwischen George und John erkennen.

Weitere Details

Ich habe eine halbe Arbeitslösung basierend auf Juliano Antwort. Ich ging zu „david“ Maschine (Linux), machte die prv / pub Schlüssel, angrenzende Pub Schlüssel zu Johns authorized_keys2. Perfekt! SVN ist Davids Änderungen als David anzumelden.

Ich ging zu "George" Maschine (Windows XP), verwendet puttygen prv / pub Tasten angebracht Pub Schlüssel zu Johns authorized_keys2 zu erstellen. George kann SVN zugreifen, aber alle seine Änderungen werden nach wie vor als John angemeldet. Ich versuche bojo Tunnellösung, sobald ich herausfinden, wo es in TortoiseSVN zu konfigurieren.

ANTWORT

Ich benutzte Option 2 von bojo Antwort. Am Ende alles, was ich tun musste, war die folgende Zeile in meinem authorized_keys2 hinzufügen

command="svnserve -t --tunnel-user=george",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-dss <george's long public key> == meaningful comment

Ich habe auch die Zeile

george=george's password

Zu meiner / pathtorepository / conf / passwd meiner Subversion-Passwort-Datei

War es hilfreich?

Lösung

Überprüfen Sie die Anweisungen, wie das --tunnel-Benutzerbefehl verwenden, hier auf der svn Handbuch . Ich stelle mir den Grund George auf, als John zeigt ist, weil Sie nicht die SSH-Sitzung sagen den Benutzer ist es, so ist es in Verzug zu Johns Konto.

Um zu klären, das ursprüngliche Plakat hat zwei Optionen.

  1. Erstellen Sie ein neues Benutzerkonto für George. Dies setzt voraus, er Super-Benutzer Zugriff hat.
  2. Erzeugen des zweiten Schlüssels (idealerweise George dies der Fall ist), auf die .ssh / authorized_keys Datei anhängen John-Konto, und fügen Sie die oben verlinkten Befehle an die .ssh / authorized_users Datei wie beschrieben. Der Link wird außerdem beschrieben, wie die zusätzlichen Benutzer Zugriff auf das John Konto begrenzen.

Andere Tipps

  

Dann gab ich die privaten Schlüssel zu George.

Private Schlüssel werden als aus einem Grund privat. Sie sind nie auf diese Weise übertragen werden soll. George sollte sein eigenes Schlüsselpaar, in seiner eigenen Benutzerumgebung erstellen. Aber das ist nicht im Zusammenhang mit dem Problem bei Ihnen auftritt. Keys sind nur Primfaktoren einer wirklich großen Zahl (für ein leichteres Verständnis zu stark vereinfacht). Benutzeridentität ist nicht Teil des Schlüssels, sondern ein „Label“, die dem Schlüssel befestigt ist, ist, dass SSH nicht viel Gebrauch machen.

Aus Ihrer Beschreibung, Sie George fragen zu Johns Konto über SSH einzuloggen. Was bestimmt den Benutzer, dass in SVN Aktionen protokolliert wird nicht zur Authentifizierung in irgendeiner Weise verwendet, um das Schlüsselpaar verwendet ist, aber den Benutzer, die wirklich zu protokolliert wird.

So, George muss hat sein eigenes Konto Login zum SVN-Server, das Repository muss von beiden Konten geteilt werden, und George muss verwenden, um seine eigenen Anmeldeinformationen an den Server einzuloggen.

John URL: svn + ssh: // john @ svn-server / path / to / repo

George URL: svn + ssh: // george @ svn-server / path / to / repo

Ist das auf diese SO Frage und zeigte auf den Blog-Eintrag sVN über ssh fordert zur Eingabe der falschen Benutzername

Die Lösung war dort eine Konfigurationsdatei in george .ssh Verzeichnis zu erstellen und die folgende Umsetzung in:

Host uiserver
User george

Sie können einen Versuch mit:

ssh-keygen -C "george"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top