You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Lewis Hall <le...@dedicateddev.com> on 2004/08/20 00:12:58 UTC

ssh help

Hi All,

Praises for Subversion:
As our company was starting, we evaluated the different options and
decided that Subversion was the best choice for us.
Our subversion repository is on a linux server, and we connect to it
from linux, windows, and mac clients.
We have now imported all of our code and documents into the repository,
have been using it flawlessly for about a month now.
We have all been tremendously impressed so far.
Thanks to everyone for all of their work.

Disclaimer:
I have perused the book and the mailing list archives and this is still
not clear, so forgive me if this has already been answered.


Questions:
From the book in regards to:
 
	$ svn list svn+ssh://host.example.com/repos/project   

"What's happening here is that the Subversion client is invoking a local
ssh process, connecting to host.example.com, authenticating as the user
harry, then spawning a private svnserve process on the remote machine,
running as the user harry. The svnserve command is being invoked in
tunnel mode (-t) and all network protocol is being “tunneled” over the
encrypted connection by ssh, the tunnel-agent. svnserve is aware that
it's running as the user harry, and if the client performs a commit, the
authenticated username will be attributed as the author of the new
revision."

When svnserve is started manually, a -r option can be specified, ie:

	$ svnserve -d -r /usr/local/repositories


Is there a *nice* way to pass a -r option to the ssh invoked svnserver
process?

And can the ssh invoked svnserve processes be forced to use any option
beyond (-t) ?


This thread gave a few hints:

http://www.contactor.se/~dast/svnusers/archive-2003-08/0548.shtml

It states:

"To get around this, you can use the "-r" switch to svnserve. Just bare 
in mind that in "tunnel" mode (i.e. when using the svnserve protocol 
over SSH etc.) svnserve must be run with the -t switch. Otherwise 
everything will still be anonymous. You can do this by using SSH keys 
and then putting something like this in the authorized_keys file: 

command="svnserve -t -r /home/svn" ssh-dss AAAAB3... 

(see the ssh docs for more details.)"

Once I have modified the authorized_keys file, what is the exact syntax
of the ssh svn commands? I don't think it is still this?

	$ svn list svn+ssh://host.example.com/repos/project


Has anyone done this and is willing to provide a complete example or
hints?



Thanks,

Lewis



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: ssh help

Posted by "H. S. Teoh" <hs...@quickfur.ath.cx>.
On Thu, Aug 19, 2004 at 10:35:20PM -0700, H. S. Teoh wrote:
[...]
> The way I did it on my server was:
> 
> 	mv /usr/bin/svnserve /usr/bin/svnserve.real
> 	cat > /usr/bin/svnserve
> 	#!/bin/sh
> 	svnserve -r $DESIRED_ROOTDIR "$@"
> 	^D

Sorry, that should be:

 	mv /usr/bin/svnserve /usr/bin/svnserve.real
 	cat > /usr/bin/svnserve
 	#!/bin/sh
 	svnserve.real -r $DESIRED_ROOTDIR "$@"
 	^D
	chmod a+rx /usr/bin/svnserve


T

-- 
It's hard to believe they put men on the Moon with only 5K of RAM. -- Wired

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: ssh help

Posted by "H. S. Teoh" <hs...@quickfur.ath.cx>.
On Thu, Aug 19, 2004 at 06:12:58PM -0600, Lewis Hall wrote:
> Hi All,
[...]
> Questions:
[...]
> When svnserve is started manually, a -r option can be specified, ie:
> 
> 	$ svnserve -d -r /usr/local/repositories
> 
> 
> Is there a *nice* way to pass a -r option to the ssh invoked svnserver
> process?
> 
> And can the ssh invoked svnserve processes be forced to use any option
> beyond (-t) ?

The way I did it on my server was:

	mv /usr/bin/svnserve /usr/bin/svnserve.real
	cat > /usr/bin/svnserve
	#!/bin/sh
	svnserve -r $DESIRED_ROOTDIR "$@"
	^D

YMMV. HTH.

[...]
> Once I have modified the authorized_keys file, what is the exact syntax
> of the ssh svn commands? I don't think it is still this?
> 
> 	$ svn list svn+ssh://host.example.com/repos/project

If you do it using the script I described above, this stays exactly
the same.


T

-- 
Computers are like a jungle: they have monitor lizards, rams, mice, c-moss,
binary trees... and bugs.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

make install warning

Posted by Michael Hanna <ta...@sympatico.ca>.
Hello, I'm installing 1.1rc2 onto Mac OS X 10.2.8

I get a warning like this, and I'm not sure of its degree of  
seriousness:

/Users/tao/Desktop/subversion-1.1.0-rc2/ac-helpers/install-sh -c -d  
/usr/local/lib
cd subversion/libsvn_ra_dav ; /bin/sh  
/Users/tao/Desktop/subversion-1.1.0-rc2/libtool --mode=install  
/Users/tao/Desktop/subversion-1.1.0-rc2/ac-helpers/install-sh -c  
libsvn_ra_dav-1.la /usr/local/lib/libsvn_ra_dav-1.la
libtool: install: warning: relinking `libsvn_ra_dav-1.la'
cd /Users/tao/Desktop/subversion-1.1.0-rc2/subversion/libsvn_ra_dav;  
/bin/sh /Users/tao/Desktop/subversion-1.1.0-rc2/libtool --mode=relink  
gcc -g -O2 -g -O2 -DNEON_ZLIB -L/usr/local/BerkeleyDB.4.2/lib  
-L/Users/tao/Desktop/subversion-1.1.0-rc2/apr-util/xml/expat/lib -rpath  
/usr/local/lib -o libsvn_ra_dav-1.la commit.lo fetch.lo file_revs.lo  
log.lo merge.lo options.lo props.lo session.lo util.lo  
../../subversion/libsvn_delta/libsvn_delta-1.la  
../../subversion/libsvn_subr/libsvn_subr-1.la  
/Users/tao/Desktop/subversion-1.1.0-rc2/apr-util/libaprutil-0.la  
-ldb-4.2  
/Users/tao/Desktop/subversion-1.1.0-rc2/apr-util/xml/expat/lib/ 
libexpat.la /Users/tao/Desktop/subversion-1.1.0-rc2/apr/libapr-0.la  
-lpthread /Users/tao/Desktop/subversion-1.1.0-rc2/neon/src/libneon.la  
-L/usr/local/lib -lz

*** Warning: This library needs some functionality provided by  
/Users/tao/Desktop/subversion-1.1.0-rc2/neon/src/libneon.la.
*** I have the capability to make that library automatically link in  
when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.


what does this mean?

regards,
Michael


On 19-Aug-04, at 8:12 PM, Lewis Hall wrote:

> Hi All,
>
> Praises for Subversion:
> As our company was starting, we evaluated the different options and
> decided that Subversion was the best choice for us.
> Our subversion repository is on a linux server, and we connect to it
> from linux, windows, and mac clients.
> We have now imported all of our code and documents into the repository,
> have been using it flawlessly for about a month now.
> We have all been tremendously impressed so far.
> Thanks to everyone for all of their work.
>
> Disclaimer:
> I have perused the book and the mailing list archives and this is still
> not clear, so forgive me if this has already been answered.
>
>
> Questions:
>> From the book in regards to:
>
> 	$ svn list svn+ssh://host.example.com/repos/project
>
> "What's happening here is that the Subversion client is invoking a  
> local
> ssh process, connecting to host.example.com, authenticating as the user
> harry, then spawning a private svnserve process on the remote machine,
> running as the user harry. The svnserve command is being invoked in
> tunnel mode (-t) and all network protocol is being “tunneled” over the
> encrypted connection by ssh, the tunnel-agent. svnserve is aware that
> it's running as the user harry, and if the client performs a commit,  
> the
> authenticated username will be attributed as the author of the new
> revision."
>
> When svnserve is started manually, a -r option can be specified, ie:
>
> 	$ svnserve -d -r /usr/local/repositories
>
>
> Is there a *nice* way to pass a -r option to the ssh invoked svnserver
> process?
>
> And can the ssh invoked svnserve processes be forced to use any option
> beyond (-t) ?
>
>
> This thread gave a few hints:
>
> http://www.contactor.se/~dast/svnusers/archive-2003-08/0548.shtml
>
> It states:
>
> "To get around this, you can use the "-r" switch to svnserve. Just bare
> in mind that in "tunnel" mode (i.e. when using the svnserve protocol
> over SSH etc.) svnserve must be run with the -t switch. Otherwise
> everything will still be anonymous. You can do this by using SSH keys
> and then putting something like this in the authorized_keys file:
>
> command="svnserve -t -r /home/svn" ssh-dss AAAAB3...
>
> (see the ssh docs for more details.)"
>
> Once I have modified the authorized_keys file, what is the exact syntax
> of the ssh svn commands? I don't think it is still this?
>
> 	$ svn list svn+ssh://host.example.com/repos/project
>
>
> Has anyone done this and is willing to provide a complete example or
> hints?
>
>
>
> Thanks,
>
> Lewis
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: ssh help

Posted by Max Bowsher <ma...@ukf.net>.
Lewis Hall wrote:
> Is there a *nice* way to pass a -r option to the ssh invoked svnserver
> process?
>
> And can the ssh invoked svnserve processes be forced to use any option
> beyond (-t) ?

Depends what you mean by "nice". The 2 ways I'm aware of are ssh 
authorized_keys command options, or svnserve wrapper scripts on the server.

...
> command="svnserve -t -r /home/svn" ssh-dss AAAAB3...
>
> (see the ssh docs for more details.)"
>
> Once I have modified the authorized_keys file, what is the exact syntax
> of the ssh svn commands? I don't think it is still this?
>
> $ svn list svn+ssh://host.example.com/repos/project

Well, it depends. If your repository is named "repos" and is in directory 
"/home/svn", then yes, that is correct.

Max.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org