TortiseSVN svn + ssh Fehler: Es kann keine Verbindung zu einem Repository unter URL hergestellt werden. Die Netzwerkverbindung wurde unerwartet geschlossen
Ich habe Probleme beim Zugriff auf ein SVN-Repository mit TortoiseSVN 1.7.8.
Das SVN-Repository befindet sich auf einer CentOS 6.3-Box mitopenssh 5.3p1:81.el6
und scheint richtig zu funktionieren.
# svnadmin --version
# svnadmin, version 1.6.11 (r934486)
Ich kann mit diesem Befehl von einer anderen CentOS-Box aus auf das Repository zugreifen:
svn list svn+ssh://[email protected]/var/svn/joetest
Wenn ich jedoch versuche, das Repository mit TortiseSVN von einer Win 7-Arbeitsstation aus zu durchsuchen, kann ich den folgenden Pfad nicht verwenden:
svn+ssh://[email protected]/var/svn/joetest
Ich erhalte folgende Fehlermeldung von TortoiseSVN:
Es kann keine Verbindung zu einem Repository unter der URL "svn + ssh: //[email protected]/var/svn/joetest" hergestellt werden. Um SSH-Verbindungsprobleme besser zu beheben, entfernen Sie die Option -q aus "ssh" in der [ Tunnel] in Ihrer Subversion-Konfigurationsdatei. Die Netzwerkverbindung wurde unerwartet geschlossen
Ich kann mich mit Putty über SSH von der Workstation aus anmelden.
Die Ergebnisse sind die gleichen, wenn ich versuche, als root darauf zuzugreifen.
Ich habe das Repository in den Besitz gegeben/var/svn/
zuUSER:USER
und ranntechmod 2700 -R /var/svn/
.
Da ich von einer anderen Linux-Box aus über ssh auf das Repository zugreifen kann, scheinen Berechtigungen nicht das Problem zu sein.
Wenn ich die Logdatei mit ansehetail -fn 2000 /var/log/secure
Ich sehe jedes Mal, wenn TortiseSVN nach dem Passwort fragt, Folgendes:
Sep 26 17:34:31 dev sshd[30361]: Accepted password for USER from xx.xxx.xx.xxx port 59101 ssh2
Sep 26 17:34:31 dev sshd[30361]: pam_unix(sshd:session): session opened for user USER by (uid=0)
Sep 26 17:34:31 dev sshd[30361]: pam_unix(sshd:session): session closed for user USER
Ich kann mich zwar anmelden, aber die Sitzung wird dann sofort geschlossen.
Mir ist aufgefallen, dass die Sitzung von root für USER geöffnet wird(uid=0)
Das mag richtig sein, aber ich werde es erwähnen, falls es etwas mit dem Problem zu tun hat.
Ich habe mir vorgenommen, das zu ändernsvnserve.conf
, aber soweit ich das beurteilen kann, wird es beim Zugriff auf das Repository über nicht verwendetsvn+ssh
Bei jeder Anmeldung über diese Methode wird eine private svnserve-Instanz erstellt. Aus dem Handbuch:
Es gibt noch eine dritte Möglichkeit, svnserve aufzurufen, und zwar im Tunnelmodus mit der Option -t. In diesem Modus wird davon ausgegangen, dass ein Remote-Service-Programm wie RSH oder SSH einen Benutzer erfolgreich authentifiziert hat und jetzt einen privaten svnserve-Prozess als dieser Benutzer aufruft. Das Programm svnserve verhält sich normal (Kommunikation über stdin und stdout) und geht davon aus, dass der Datenverkehr automatisch über eine Art Tunnel zurück zum Client geleitet wird. Stellen Sie beim Aufrufen von svnserve durch einen Tunnelagenten wie diesen sicher, dass der authentifizierte Benutzer über vollständigen Lese- und Schreibzugriff auf die Repository-Datenbankdateien verfügt. (Siehe Server und Berechtigungen: Ein Wort der Warnung.) Dies entspricht im Wesentlichen einem lokalen Benutzer, der über die URLs file: /// auf das Repository zugreift.
Die einzigen nicht standardmäßigen Einstellungen insshd_config
sind:
Protocol 2 # to disable Protocol 1
SyslogFacility AUTHPRIV
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
X11Forwarding no
Subsystem sftp /usr/libexec/openssh/sftp-server
Irgendwelche Gedanken?