Die automatische Authentifizierung mit Subversion
Habe ich einen SVN-server ich mich verbinden mit ssh+svn
. Beim Check-out ein bestimmtes Verzeichnis enthält eine Menge von svn:external
repositories, ich muss mein Passwort eingeben, mehrmals.
- Wie richte ich mein Subversion-client automatisch zu authentifizieren?
- Wo ist die Dokumentation?
InformationsquelleAutor Matt Joiner | 2011-03-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weiß ich nicht über den integrierten Mechanismus der SVN zu tun automatische SSH-Authentifizierung. Aber Sie können den Öffentlichen Schlüssel-Authentifizierung-Mechanismus von SSH :
Hier ist eine kurze Anleitung, wie das geht : http://www.petefreitag.com/item/532.cfm Sie können leicht finden weitere Informationen im internet darüber.
Da kann es nützlich sein, hier ist eine detaillierte Anleitung, mit Informationen über Agent-Forwarding : http://unixwiz.net/techtips/ssh-agent-forwarding.html
Einige Grundlagen zu Public-Key-Authentifizierung
Gibt es verschiedene Wege für die remote-SSH-server zu authentifizieren, wenn Sie versuchen sich einzuloggen. Die klassische Kennwort ist eine von Ihnen. Es ist aber auch möglich, einen Mechanismus verwenden, basierend auf der asynchronen Schlüssel.
Erstellen Sie ein Schlüsselpaar auf Ihrem lokalen Rechner : eine private und eine öffentliche. Sie müssen dann verteilen Sie den öffentlichen Schlüssel an alle remote-SSH-server, auf dem Sie sich einloggen möchten. Es ist wirklich wichtig, dass der private Schlüssel wird niemals verteilt.
Wenn Sie versuchen sich einzuloggen, wird der remote-server senden, eine Herausforderung, die mit dem privaten Schlüssel verschlüsselt. Wenn Sie vertraut sind mit asynchroner Kryptographie, wissen Sie, dass nur der öffentliche Schlüssel kann nun entschlüsseln, sagte verschlüsselte Herausforderung. Also, wenn der server die Antwort empfängt, kann es entschlüsseln und-wenn die Antwort und die Herausforderung, die identisch sind, müssen Sie authentifiziert werden.
Nicht mehr das Passwort für Sie notwendig, SVN-Operationen oder andere SSH-Verbindung zu dieser remote-Maschine.
SSH-agent
Einer mehr Informationen über ssh-Agenten.
Beim erstellen Ihres Schlüsselpaars, ssh-keygen fragt nach einem Passwort, um weiter zu verschlüsseln, der private Schlüssel zur Verbesserung Ihrer Sicherheit. Lassen Sie das Kennwort leer, so dass Sie nicht haben, um ein Kennwort eingeben, wenn Sie den Schlüssel.
Jedoch, wenn Sie ein Passwort wählen, jedes mal, wenn Sie wollen, um die Schlüssel zu verwenden, müssen Sie das Passwort eingeben, welches die gleiche, wie die Passwort-Authentifizierung mit SSH. Aber es gibt eine saubere Lösung : der ssh-agent.
Agent ist ein kleiner daemon, speichern Sie Ihre Schlüssel im Speicher. Wenn Sie fügen Sie den Schlüssel in den agent mit ssh-add, wird es zuerst nach Ihrem Passwort Fragen und dann, jedes mal, wenn der SSH-client müssen Sie den Schlüssel, es wird Fragen Sie den Agenten, so dass keine weitere Passwort.
In meinem zweiten link, finden Sie Informationen über agent-forwarding, das ist auch ein guter Grund für die Verwendung einer ssh-agent.
Ich hoffe ich komme klar, ansonsten Fragen Sie alle Fragen, die Sie wollen.
Ich denke, dass Sie sich geirrt haben. Server sendet challenge-client verschlüsselt mit dem öffentlichen Schlüssel. Dann client entschlüsselt mit seinem privaten Schlüssel und gibt einige-Zulassung (je nach ssh-version) zurück zum server. Der Server überprüft, dass die Zustimmung.
Ich bin mir nicht ganz sicher, aber ich glaube der server sendet eine challenge, die der client verschlüsselt mit seinem privaten Schlüssel. Dann verwendet der server den öffentlichen Schlüssel, um Ihre Identität nachzuweisen. Aber Sie vielleicht Recht, fühlen Sie sich frei zu Bearbeiten-die Antwort 🙂
InformationsquelleAutor krtek
SVN unterstützt die Speicherung von Authentifizierungs -, die nützlich für die Vermeidung erneute Authentifizierung für jedes svn:external. Finden Sie die config-und README.txt die Datei befindet sich unter ~/.subversion.
Den ersten Teil der config-Datei sollte die Authentifizierung Abschnitt:
Sieht es aus wie die keys werden gespeichert in ~/.subversion/auth (auf Unix-mindestens).
In meinem test war ich zur Authentifizierung aufgefordert werden, das erste mal, Auschecken per svn:external als Teil eines checkout des Trunks. Nachfolgende svn updates der Stamm nicht geben Sie eine Authentifizierung Herausforderung für die Aktualisierung des externen.
Ich, die zweite die Verwendung von ssh-keys für den Weg zum repo wenn. Diese info ist nur für bestimmte SVN-Authentifizierung.
InformationsquelleAutor Natebot
Ja, ich zweite, public-key-Authentifizierung ist der Weg zu gehen. Wenn schützen Sie Ihre Schlüssel mit einer pass-phrase, die Sie verwenden möchten, ssh-agent zum speichern der Schlüssel in einem Schlüsselring auf Linux oder Putty ' s pageant auf Windows. Ansonsten haben Sie noch die Eingabe der pass-phrase, die ganze Zeit.
InformationsquelleAutor Bernhard