I'm having a problem with Capistrano.  I'm deploying from my box (which
is also the repository right now) as myself.  I have a user on my box
called "webuser2", which has access to the repository.  I'm deploying
to "deployserver" as user "webuser2".  On the repo box (my box), I have
a ssh key for "webuser" that was created on "deployserver" (I've put it
in "webuser2"'s .ssh directory as "authorized_keys").

My understanding of the deployment process is this:
Run deploy as whatever user
Cap checks the repository (where ever you specified) for latest
revision.  In my case, the repository is at:
svn+ssh://[EMAIL PROTECTED]/MinPro/#{application}
Then Cap connects to the deployment server "somedeployserver" via SOME
AUTHENTICATION METHOD, with user:
"webuser2", which is defined in my deploy.rb file:
set :user, "webuser2"
set :password, "XXXXX"

Then from the deployment server, Cap issues an svn checkout from the
repository:
svn -co svn+ssh://[EMAIL PROTECTED]/MinPro/#{application} ./whateverdir

What is happening in my case, is that I'm getting an error that
"svnserve: command not found" when I deploy.  The exact error lines
read:
* querying latest revision...
Password:
bash: line 1: svnserve: command not found
subversion/libsvn_ra_svn/marshal.c:255: (apr_err=210002)
svn: Connection closed unexpectedly

This, I've seen happen before when a user issues an svn+ssh command to
the repo server, but for some reason their key does not match up with
the key on the server, so the ssh key hack
(command="/usr/local/svn.wrapper") in their public key doesn't get
called.  If you're not aware, you can put a hack in a user's public key
that calls a shell script (in my case svn.wrapper), which simply sets a
umask and calls "svnserve -[options]...)

I'm fairly sure that when Cap connects to the repository from the
deployment server, it is not sending the "webuser2" 's private key.
However, if I log into the deployment server as "webuser2", and issue
the command at the command line, "svn -co
svn+ssh://[EMAIL PROTECTED]/MinPro/#{application} ./somefolder"
I can check the project out fine.

So what I'm wondering is, why isn't the ssh key getting from the
deployment server to the repo server?  How does Cap connect to the
deployment server, and how would that affect it's SSH authentication
with the repository?

Thanks


--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---

Reply via email to