[SOLVED, sort of] Re: svn+ssh over nonstandard port fails to connect

Chad Perrin perrin at apotheon.com
Fri Jun 29 10:23:21 UTC 2007


On Thu, Jun 28, 2007 at 04:22:55PM -0700, Christopher Cowart wrote:
> On Thu, Jun 28, 2007 at 04:44:10PM -0600, Chad Perrin wrote:
> > On Thu, Jun 28, 2007 at 03:10:18PM -0700, Christopher Cowart wrote:
> > > On Thu, Jun 28, 2007 at 03:45:50PM -0600, Chad Perrin wrote:
> > > > I'm attempting to connect to a Subversion repository via SSH using a
> > > > nonstandard port to check out the repository.  The names and numbers in
> > > > the following have been changed to protect the guilty:
> > > > 
> > > >   svn co svn+ssh://user@123.45.678.90:1234/usr/home/svn-repos/project project
> > > 
> > > Try:
> > > 
> > > SVN_SSH="ssh -p 1234" svn co svn+ssh://user@host/path
> > 
> > Are you suggesting setting an environment variable?  I have more than one
> > repository checked out on this system, and they do not all use the same
> > port for access.
> 
> This is the only way I know to do it. You don't have to set it in your
> shell's environment if you use this syntax to prefix the specific
> command.

For a moment, I thought this wasn't going to work, because nothing like
that syntax seems to work in tcsh -- but then I remembered that, in this
case, the only reason I was even doing this was to test whether someone
else would be able to access the contents of the repository from
off-site, and that person is using bash.  As such, I tried a pretty much
verbatim copy of what you suggested from a bash prompt, and it worked, so
it should work for him.

In other words, my immediate problem is solved.  Thank you.

It seems odd that I cannot find an easier way around this with tcsh than
setting an environment variable, running the svn command I need, then
unsetting the environment variable, every time.  Coupled with the strange
argument quoting requirements of tcsh and the fact that it's easier to
get into trouble with weird filenames than in other shells I've used, I'm
tempted to go back to bash.


> 
> > > > The result I get is as follows:
> > > > 
> > > >   ssh: 123.45.678.90:1234: hostname nor servname provided, or not known
> > > >   svn: Connection closed unexpectedly
> > > > 
> > > > Am I having a brainless moment here?  What am I missing?
> > > 
> > > ssh doesn't support the hostname:port syntax. You have to use -p.
> > > 
> > > Hope that helps,
> > 
> > I thought that might be the case, but I'm not sure how to specify it in
> > the svn command string -- which seems to be necessary since making a
> > universal (to this user account) configuration change would then break
> > access to other svn repositories.
> 
> You can also create a "new" tunneling protocol. Look at the "SSH
> authentication and authorization" section of this part of the handbook:
> http://svnbook.red-bean.com/en/1.0/ch06s03.html

The information on that page seems specific to bash (though it's not
explicitly labeled as such), and I don't seem able to tailor it the needs
of tcsh.  Hopefully, I never find myself in need of accessing more than
one server using different nonstandard SSH ports to get at svn
repositories while using tcsh, I guess.

Anyway, I appreciate the help.

-- 
CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ]
awj @reddit: "The terms never and always are never always true."


More information about the freebsd-questions mailing list