I need to make our SVN repository accessible through the firewall - but without creating a local user for each potential external user.

Instead, I would like to set-up SVN+SSH to route all external users through a single local user name.

We would like each external user to authenticate with SSH the regular way but then treat their instance of svnserve as if they're all that single local user and possibly, control what parts of the repository each external user can access.

I know that I will need to set my svnserve config according to the official guide.

I tried, but the instructions are fuzzy and I am relatively a Linux n00b.

What exactly are the steps to proceed? and how would you go about testing this?

Thanks for your help.

  • Why wouldn't you want to create a user for each person? Trying to deal with massive amounts of SSH keys on a single username will be harder than dealing with many users. – Alex Holst Mar 17 '10 at 23:20
  • I am not sure why. This wasn't my idea - maybe there's a way we would be able to automate changing the authorized_keys file. The people that will be accessing our svn server are subcontractors and just going through the trouble of creating system users for each one is a mess I guess. – Warlax Mar 17 '10 at 23:46

You should really use different users names , as if you define one user, then all svn commits will be from that user. It's very hard to blame people for poor quality commits if everyone is masquerading under the same user name , or maybe that's what you want!.

Follow the svn setup instructions, read the svn book. Source code is valuable, make sure you know how to handle it without data loss. Angry developers with lost source codes are not something I'd recommend you encounter.


  • 1
    Just to clarify things a bit: The local user under which the subversion server runs is different from users in the subversion repository (the code authors). Adding a subversion user (code author) requires a one line edit of a config file on the subversion server. It has no effect on who has rights to do stuff on the server. – Rodney Schuler Mar 18 '10 at 14:39
  • 1
    I can just add command="svnserve -t --tunnel-user=actualusername" to the front of the public key line in authorized_keys, this is from the svn book; so there shouldn't be a problem with that. – Warlax Mar 18 '10 at 19:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.