i have a svn repository on a server that i access through svn+ssh. i have only user access (not root) and i cannot install mod_dav.

is there a way to configure multiple user access (ie. with multiple ssh keys) to the svn repository without giving the other svn users full ssh access ?

link|improve this question

feedback

4 Answers

up vote 3 down vote accepted

Sure, just drop the extra keys into the authorized_keys with a forced command of /usr/bin/svnserve -t (or alternate path as appropriate).

link|improve this answer
thank you now i get it after to @christianwolff explanation. i didn't know you can force a command that way. – gpilotino Nov 19 '09 at 13:49
feedback

What womble meant is that you can assign only one command to a ssh public key in the authorized_keys.

command="/usr/bin/svnserve -t" ssh-rsa ...

In this example the user accessing via his ssh key can only run the command /usr/bin/svnserve -t.

link|improve this answer
thank you for the explanation, i missed this piece =) – gpilotino Nov 19 '09 at 13:47
No problem. It's not a common task but it can be very useful as you can see. ;-) – christianwolff Nov 19 '09 at 13:59
feedback

There are three ways to access subversion:

  1. Via apache
  2. svnserve
  3. svnserve over SSH

http://svnbook.red-bean.com/en/1.5/svn.serverconfig.html

If you've ruled out all of these then you need to move your subversion repository to somewhere else or not give people access.

link|improve this answer
feedback

You can give each of the people you want to have access a public key which they can use to connect through the same SSH user. Forcing each key to only be able to run svnserve -t --tunnel-user=<username> gives each key a separate SVN identity. This is covered well in a blog post by James Gardner.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

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