Tengo problemas para acceder a un repositorio SVN usando TortoiseSVN 1.7.8.TortiseSVN svn + ssh Error: no se puede conectar a un repositorio en la URL ... La conexión de red se cerró inesperadamente
El repositorio SVN está en una caja de CentOS 6.3 con openssh 5.3p1:81.el6
y parece funcionar correctamente.
# svnadmin --version
# svnadmin, version 1.6.11 (r934486)
puedo acceder al repositorio de otro cuadro de CentOS con este comando:
svn list svn+ssh://[email protected]/var/svn/joetest
Pero cuando intento navegar el repositorio usando TortiseSVN desde una estación de trabajo de Windows 7 no soy capaz de hacerlo a través de la siguiente ruta:
svn+ssh://[email protected]/var/svn/joetest
recibo el siguiente error de TortoiseSVN:
Unable to connect to a repository at URL 'svn+ssh://[email protected]/var/svn/joetest' To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file. Network connection closed unexpectedly
Puedo iniciar sesión vía SSH desde la estación de trabajo usando Putty.
Los resultados son los mismos si intento acceder como root.
le he dado la propiedad del repositorio /var/svn/
a USER:USER
y corrió
chmod 2700 -R /var/svn/
.
Como puedo acceder al repositorio a través de ssh desde otra caja Linux, los permisos no parecen ser el problema.
Cuando termine de ver el archivo de registro utilizando tail -fn 2000 /var/log/secure
, veo lo siguiente cada vez que TortiseSVN pide la contraseña:
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
En realidad soy capaz de iniciar sesión, pero la sesión se cierra entonces de inmediato.
Me llamó la atención que la sesión se abre para el usuario por root (uid=0)
, que puede ser correcta, pero lo mencionaré en caso de que tenga algo que ver con el problema.
Miré en la modificación de la svnserve.conf
, pero por lo que puedo decir, no se utiliza al acceder al repositorio a través de svn+ssh
, una instancia svnserve privado se crea para cada acceder a través de este método. Del manual:
There's still a third way to invoke svnserve, and that's in “tunnel mode”, with the -t option. This mode assumes that a remote-service program such as RSH or SSH has successfully authenticated a user and is now invoking a private svnserve process as that user. The svnserve program behaves normally (communicating via stdin and stdout), and assumes that the traffic is being automatically redirected over some sort of tunnel back to the client. When svnserve is invoked by a tunnel agent like this, be sure that the authenticated user has full read and write access to the repository database files. (See Servers and Permissions: A Word of Warning.) It's essentially the same as a local user accessing the repository via file:/// URLs.
Los únicos valores no predeterminados en sshd_config
son:
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
¿Alguna idea?
Es sólo una idea, tratar sacando al USUARIO @ de la URL y espera a que la tortuga solicite las credenciales. No estoy seguro si funcionará, pero vale la pena intentarlo. – Scott
Gracias por la sugerencia, pero el mismo resultado. – codewaggle
Cuando abre el repo-navegador de tortugas, ¿qué error le da? – Scott