Differences between SVN and SVN + SSH on a Windows SVN server?

I am trying to understand the differences in terms of security of a subversion repository between regular svn: // and svn + ssh: // access.

I installed my subversion repository in the user port and ip address and opened the same port on the firewall and configured the repository with access only to authenticated users.

From what I could understand, subversion svn: // access connects through the subversion port, while svn + ssh: // connects to the ssh port to create a tunnel on the server (similar to using PuTTY).

I assume that using for svn + ssh is an added added security of not having an svn port open to the world, or am I missing something else?

EDIT: How is the svn + ssh: // command different than opening the PuTTY tunnel on my server and using svn: // localhost / repository instead? I read several articles on how to get subversion to get svn + ssh to work in windows, but I can't fully understand. Opening a tunnel with PuTTY works fine, but I have to remember that I open it first before calling svn: // localhost / repository.

+4
source share
4 answers

That's right, according to the documentation , what the SSH version does is create a tunnel so that instead of using svn "socket" you would use a more secure version using the SSH protocol to communicate between the ends.

The difference between svn + ssh: // and creating your own tunnel using PuTTY is the convenience of the first.

+10
source

Using SSH provides encrypted traffic so that no one can intercept your messages on the go. The encryption used by SSH ensures the confidentiality and integrity of data over an insecure network.

+4
source

If I remember svn correctly: it requires that you have an svn server (which hangs on the socket and can be hacked). Using svn + ssh: you do not need to start the server. The client connects through a regular secure and encrypted ssh to the target machine and launches the remote necessary commands.

+1
source

[Subversion 1.5+] If you configured your svn: // correctly, you force svnserve to use encryption. This requires sasl server and client support.

+1
source

All Articles