Authentication

Authentication covers the mechanisms that Subversion and TortoiseSVN use to identify users. Using your windows user name or domain server for authentication is possible although not all combinations work.

For general information, visit the TortoiseSVN docs and the Subversion book.


All commits have the same username. How do I setup the author?

If all the commits from different people to the repository have the same username 'anonymous', you have to set up authentication on your subversion server. See our docs: Chapter Setting Up A Server


Can TortoiseSVN use my Windows login name and password?

If you have set up the server to authenticate against a windows domain, then yes. But you still have to enter username/password yourself.

See our docs on how to set up such a server:
Authentication With A Windows Domain


I lost my SVN password. How can I retrieve it?

There's no way to recover your password if you forgot it, if you are using basic authentication.
Change the password on the server/repository. If you don't have access to the server, you have to ask the administrator to do it for you.


Windows authentication, repository on a Linux server

There are at least two ways to make a Subversion server running on Linux perform authentication through a Windows domain. Either use PAM (Pluggable Authentication Modules) or one of the various authentication modules for Apache. PAM authentication also works for Apache, and is thus a more general solution.

If you wish to use the Apache-only solution, you will need to find an appropriate authentication module. This could for example be:

  • mod_auth_kerb for authenticating against Windows 2000, XP and 2003 domains
  • mod_auth_nt_lm for authenticating against Windows NT4 domains
  • mod_auth_samba or mod_auth_smb for authenticating using older versions of Samba

Note that of the above, only mod_auth_kerb seems to be actively maintained.

Unless you feel that it is too complicated to setup, or that the particular authentication module you are looking for only exists for Apache, you will probably want to use PAM.

In order to use the PAM solution, you will first need to:

  • Install Samba version 3 (or later)
  • Configure Samba's winbind
  • Adjust your system's PAM configuration through /etc/pam.d to allow winbind authentication for the services you wish to use

When you have set up the above appropriately, tunneled svnserve connections (svn+ssh://, svn+rsh:// and similar) should work out-of-the-box, since the ssh daemon and similar tools already per default uses PAM to authenticate users.

To get Apache to work with PAM, make sure that mod_auth_pam is installed and then configure Apache as appropriate.

And of course: This is actually a server question which has little to do with the TortoiseSVN client, and thus further information should be sought on the Subversion FAQ or the Subversion mailing list.


Windows authentication, repository on a Windows server

If you wish to make a Subversion server running on Windows perform authentication through your Windows domain, the most widely used option is to use Apache and the mod_auth_sspi which is now hosted and maintained on SourceForge. Configuration using this module is covered extensively in the TortoiseSVN documentation.

If you wish to use the svnserve-based solution, you're on your own. It should be possible, provided that you can find a Windows SSH server that will:

  1. authenticate users against your Windows domain, and
  2. properly launch svnserve in tunnel mode

More information about setting up a SSH server for Subversion can be found in the Subversion book.

If you find yourself successful in setting up a svn+ssh server on Windows that authenticate through your Windows domain, feel free to brag about it on our mailing list.