Oh and Vinay Seshadri=Ram btw :D

On Wed, Feb 18, 2009 at 10:53 AM, Vinay Seshadri <[email protected]
> wrote:

> Jamis,
> >Make sure that, if you are logged into the remote server via ssh, you can
> then ssh from there to the repository server.
>
> How can I do that?
> My repo is in Github and Ive got a key up there that lets me connect from
> my local machine to the repo and push/pull.
> I went through some server config documentation again and disabled
> PublicKeyAuthentication altogether in the config file itself.
> Im kind of swimming in a sea of new knowledge and im not sure whats what
> yet and its confusing everything up.
> Could you give me a few directions I can try going into?
> Im on Slicehost by the way.
>
> Thanks!
>
>
> On Mon, Feb 16, 2009 at 8:40 PM, Jamis Buck <[email protected]> wrote:
>
>>
>> It sounds like your git command on the remote host isn't able to
>> authenticate with the repository server. Make sure that, if you are
>> logged into the remote server via ssh, you can then ssh from there to
>> the repository server.
>>
>> - Jamis
>>
>> On 2/16/09 12:11 AM, Ram wrote:
>> > Andrew,
>> >
>> > Thanks for that! That really helped me make some progress. Im still
>> > stuck though, and Im not able to figure out why.
>> > After setting up the permissions like you suggested, I ran cap
>> > deploy:setup, it worked fine and cap deploy:check which asked me for
>> > my server pwd once and declared that I seem to have my dependencies in
>> > place.
>> > But when I run cap deploy, this is the sequence of events
>> > ***************************************
>> > DEBUG -- net.ssh.authentication.methods.publickey[]: trying publickey
>> > (<rsa_signature>)
>> > ...
>> > DEBUG -- net.ssh.authentication.session[]: allowed methods:
>> > publickey,password
>> > ERROR -- net.ssh.authentication.session[]: all authorization methods
>> > failed (tried publickey)
>> > Then asks for my server pwd
>> > ...
>> > DEBUG -- net.ssh.transport.session[]: connection established
>> > ...
>> > DEBUG -- net.ssh.transport.algorithms[]: exchanging keys
>> > ...
>> > ... beginning authentication of '<user in set_user line>'
>> > ...
>> > ...trying password
>> > ...password succeeded
>> > ...
>> > [ahref.in] executing command
>> > ...
>> > [ahref.in :: out] Initialized empty Git repository in <deploy_to_path>/
>> > shared/cached-copy/.git/
>> > ...
>> > INFO -- net.ssh.connection.session[]: channel_data: 0 33b
>> > [ahref.in :: out] Permission denied (publickey).
>> > ...
>> > [ahref.in :: out] fatal: The remote end hung up unexpectedly
>> > ...
>> > command finished
>> > *** [deploy:update_code] rolling back
>> > ***************************************
>> > I have removed the public key in the server and the matching key my
>> > local machine so that it defaults to password authentication everytime
>> > I connect to it (I would prefer reverting back to keys though, just
>> > not using them now to figure out what I need for successful Cap
>> > deployment).
>> > And yet, it seems to try to authenticate using public key and fails,
>> > fatally.
>> > Can you read more into this debug trace than I can? really appreciate
>> > the guidance so far. Just hoping you can see me through! :)
>> >
>> > @Jamis, thanks for putting that in perspective. Guess thats something
>> > I have to keep in mind for such similar requirements in the future, IF
>> > I can get this to work of course! :)
>> >
>> > On 14 Feb, 01:52, Andrew Fiedler <[email protected]> wrote:
>> >> Ram,
>> >>
>> >> Yeah, the problem is that /home/<username>/public_html/ahref.in is
>> >> probably not writable by the user you have on the set user line in
>> >> deploy.rb. When you do a "sudo mkdir /home/..." you are switching to
>> >> root so there are no permissions errors. I'd change the ownership of
>> >> everything in /home/<username>/public_html to the username that you
>> >> are deploying as (on the set user line). You can do this by running
>> >> "sudo chown <user on set user line>:<user on set user line>
>> >> public_html/ -R" in your home directory. Note that the user name is
>> >> specified twice with a colon in between. The second one is actually
>> >> the user's group, but on ubuntu users are in their own groups. That
>> >> should make cap deploy work without errors.
>> >>
>> >> -Andrew
>> >>
>> >> On 13 Feb, 10:00, Jamis Buck <[email protected]> wrote:
>> >>
>> >>> :use_sudo does not cause all commands to use sudo, only commands like
>> >>> deploy:setup and deploy:restart. The primary deploy methods (which
>> copy
>> >>> the code to the server and update the symlink, etc.) are never run as
>> sudo.
>> >>> I've mentioned this before on the list, but deploy:setup is kind of
>> >>> broken: if you use sudo for deploy:setup, then you need to manually
>> fix
>> >>> the permissions so the directories are writable. If you don't use
>> sudo,
>> >>> you need to fix the permissions on the parent directory first, or the
>> >>> setup fails. It's a catch 22, and I don't know of a good, flexible way
>> >>> to make it work.
>> >>> - Jamis
>> >>> On 2/13/09 4:35 AM, Ram wrote:
>> >>>> Andrew,
>> >>>> Thanks for you reply. I followed your instructions.
>> >>>> The ** [out :: delugeventures.com] <the_user_you_are_logged_in_as
>> from
>> >>>> whoami> part shows the user on the set_user line correctly.
>> >>>> I then ssh connected to my server and did "mkdir
>> >>>> <folder_that_cap_is_trying_to_create>" and permissions failed.
>> >>>> I did "sudo mkdir <folder_that_cap_is_trying_to_create>" and entered
>> >>>> my passwrd and the folder got created.
>> >>>> Now how do I effect this in my deploy.rb? This is my deploy.rb now.
>> >>>> ******************************************
>> >>>> set :application, "ahref.in"
>> >>>> set :user, "<server_username>"
>> >>>> set :repository,  "[email protected]:<gitusername>/ahref.in.git"
>> >>>> set :branch, "master"
>> >>>> set :port, <port_number>
>> >>>> default_run_options[:pty] = true
>> >>>> set :scm_verbose, true
>> >>>> ssh_options[:username] = user
>> >>>> ssh_options[:verbose] = :debug
>> >>>> set :use_sudo, true
>> >>>> set :deploy_to, "/home/#{user}/public_html/#{application}"
>> >>>> set :scm, :git
>> >>>> set :deploy_via, :remote_cache
>> >>>> set :runner, user
>> >>>> role :app, application
>> >>>> role :web, application
>> >>>> role :db,  application, :primary => true
>> >>>> task :before_update_code, :roles => :app do
>> >>>>     run "whoami"
>> >>>> end
>> >>>> ******************************************
>> >>>> I assumed "set :use_sudo, true" will use sudo on all commands on the
>> >>>> server and ask me for the server password. But it still fails.
>> >>>> FYI
>> >>>> **************
>> >>>> cap deploy o/p
>> >>>> ** [ahref.in :: out] fatal: could not create work tree dir '/home/
>> >>>> <username>/public_html/ahref.in/shared/cached-copy'.
>> >>>> **************
>> >>>> cap deploy:check o/p
>> >>>> The following dependencies failed. Please check them and try again:
>> >>>> --> You do not have permissions to write to `/home/<username>/
>> >>>> public_html/ahref.in'. (<server_name>)
>> >>>> --> You do not have permissions to write to `/home/<username>/
>> >>>> public_html/ahref.in/releases'. (<server_name>)
>> >>>> --> `/home/<username>/public_html/ahref.in/shared' is not writable
>> >>>> (<server_name>)
>> >>>> **************
>> >>>> On 12 Feb, 20:35, Andrew Fiedler <[email protected]> wrote:
>> >>>>> Ram,
>> >>>>> Are you trying to set up SSH with public/private keys so you don't
>> >>>>> need to type a password? I'm not really sure how to get that working
>> >>>>> but I have capistrano working fine with basic password
>> authentication.
>> >>>>> To help you debug, try adding to your deploy.rb in the
>> >>>>> "namespace :deploy do" section this:
>> >>>>> task :before_update_code, :roles => :app do
>> >>>>>     run "whoami"
>> >>>>> end
>> >>>>> When you run cap deploy, you should get something like:
>> >>>>> * executing "whoami"
>> >>>>>     servers: ["yourserver.com"]
>> >>>>> Password: <you type password here>
>> >>>>>     [yourserver.com] executing command
>> >>>>>  ** [out :: delugeventures.com] <the_user_you_are_logged_in_as from
>> >>>>> whoami>
>> >>>>> which should be the user on your "set :user" line. Then I'd manually
>> >>>>> ssh to your server as that user and try to create the directories
>> >>>>> manually that are failing on your mkdir lines below to debug the
>> >>>>> permissions issues.
>> >>>>> Hope that helps,
>> >>>>> Andrew
>> >>>>> On Feb 12, 5:27 am, Ram <[email protected]> wrote:
>> >>>>>> OK, ive been making progress with diagnosing this. Posting my
>> updates.
>> >>>>>> Hope someone knows the fix.
>> >>>>>> First off, im using 2 DIFFERENT ssh public keys for my Slicehost
>> >>>>>> server and for the github server.
>> >>>>>> And on the Slicehost server, although it does not ask for my
>> password
>> >>>>>> when I ssh connect, it DOES require my password for creating
>> >>>>>> directories/files.
>> >>>>>> My deploy.rb looks like this right now.
>> >>>>>> set :application, "ahref.in"
>> >>>>>> set :user, "<slicehost_server_username_with_write_permissions>"
>> >>>>>> set :repository,  "[email protected]:<gitusername>/ahref.in.git"
>> >>>>>> set :branch, "master"
>> >>>>>> set :port, <port_number>
>> >>>>>> default_run_options[:pty] = true
>> >>>>>> set :scm_verbose, true
>> >>>>>> ssh_options[:username] = user
>> >>>>>> ssh_options[:verbose] = :debug
>> >>>>>> #set :run_method, :run
>> >>>>>> #set :ssh_options, { :forward_agent => true }
>> >>>>>> set :use_sudo, false
>> >>>>>> set :deploy_to, "/home/#{user}/public_html/#{application}"
>> >>>>>> set :scm, :git
>> >>>>>> set :deploy_via, :remote_cache
>> >>>>>> #The user that starts the Mongrel(?) instances
>> >>>>>> set :runner, user
>> >>>>>> role :app, application
>> >>>>>> role :web, application
>> >>>>>> role :db,  application, :primary => true
>> >>>>>> This thread too discusses this problemhttp://ahref.in/33870andI
>> >>>>>> realised I had set :use_sudo true when I did cap deploy:setup. I
>> thus
>> >>>>>> deleted the files/dirs created by Cap on the server, set :use_sudo
>> >>>>>> false and ran cap deploy:setup again but I still get permission
>> denied
>> >>>>>> errors.
>> >>>>>>  ** [out :: ahref.in] mkdir: cannot create directory
>> `/home/<user>/
>> >>>>>> public_html/ahref.in/releases': Permission denied
>> >>>>>>  ** [out :: ahref.in] mkdir: cannot create directory
>> `/home/<user>/
>> >>>>>> public_html/ahref.in/shared': Permission denied
>> >>>>>>  ** [out :: ahref.in] mkdir: cannot create directory
>> `/home/<user>/
>> >>>>>> public_html/ahref.in/shared': Permission denied
>> >>>>>>  ** [out :: ahref.in] mkdir: cannot create directory
>> `/home/<user>/
>> >>>>>> public_html/ahref.in/shared': Permission denied
>> >>>>>>  ** [out :: ahref.in] mkdir: cannot create directory
>> `/home/<user>/
>> >>>>>> public_html/ahref.in/shared': Permission denied
>> >>>>>> Now if I set use_sudo to true for deploy:setup, the setup goes fine
>> >>>>>> but cap deploy does not work. Permission denied errors. The final
>> >>>>>> dependency o/p for cap deploy:check is this
>> >>>>>> The following dependencies failed. Please check them and try again:
>> >>>>>> --> You do not have permissions to write to
>> `/home/<user>/public_html/
>> >>>>>> ahref.in'. (<server_name>)
>> >>>>>> --> You do not have permissions to write to
>> `/home/<user>/public_html/
>> >>>>>> ahref.in/releases'. (<server_name>)
>> >>>>>> --> `/home/<user>/public_html/ahref.in/shared' is not writable
>> >>>>>> (<server_name>)
>> >>>>>> In the SSH Debug o/p, I can see that Cap is using the public key
>> for
>> >>>>>> authentication and the authentication goes through but mkdir seems
>> to
>> >>>>>> fail. Like I mentioned at first, the slicehost server still requirs
>> me
>> >>>>>> to provide the pwd to create dirs/files and I think thats where
>> this
>> >>>>>> is failing. Thats my best guess at this problem. Although I dont
>> have
>> >>>>>> a solution.
>> >>>>>> I even tried SSH Agents and set :ssh_options, { :forward_agent =>
>> >>>>>> true } according to this posthttp://ahref.in/1f632butthatdintwork
>> >>>>>> either.
>> >>>>>> This too is a thread that discusses almost the same problemhttp://
>> ahref.in/3b4af.
>> >>>>>> The Original poster talks about how Cap seems to try to connect to
>> the
>> >>>>>> server using the first HostName specified in the ~/.ssh/config
>> file.
>> >>>>>> Thats something to note I guess. But I even gave that a wild shot
>> and
>> >>>>>> that dint work.
>> >>>>>> How can I make Cap ssh to my server using the username i provide
>> >>>>>> instead of the public key? ssh_options[:username] = user doesnt
>> seem
>> >>>>>> to work.
>> >>>>>> Is there at least a quick fix for this problem right now that any
>> of
>> >>>>>> you can suggest?
>> >>>>>> Thanks a bunch for reading this through even if you cant help! :)
>> >>>>>> Cheers!
>> >>>>>> On Feb 12, 11:17 am, Ram <[email protected]> wrote:
>> >>>>>>> @ MAthias Meyer,
>> >>>>>>> Oh and yes, I DID do deploy:setup first and I can see the shared
>> and
>> >>>>>>> releases directories on my server
>> >>>>>>> On Feb 12, 11:11 am, Ram <[email protected]> wrote:
>> >>>>>>>> @Mathias Meyer,
>> >>>>>>>> Regarding the other question, I realised i had not installed Git
>> on
>> >>>>>>>> the server and I did that. This post shows the error I got AFTER
>> >>>>>>>> installing Git on the server.
>> >>>>>>>> About write permissions, well im really not sure how the
>> deploy.rb
>> >>>>>>>> works but her it is if it helps,
>> >>>>>>>> set :application, "ahref.in"
>> >>>>>>>> set :user, "<username>" #this is the username for my slicehost
>> server
>> >>>>>>>> that has write permissions on the server
>> >>>>>>>> set :repository,  "[email protected]:vinaysesh/ahref.in.git"
>> >>>>>>>> set :port, 4001
>> >>>>>>>> default_run_options[:pty] = true
>> >>>>>>>> #set :use_sudo, true # Not sure what this should be set to. TRUE
>> and
>> >>>>>>>> FALSE dont work anyway. I get the same error.
>> >>>>>>>> set :deploy_to, "/home/<username>/public_html/#{application}"
>> >>>>>>>> # If you
>> >> ...
>> >>
>> >> read more ยป
>> > >
>>
>>
>> >>
>>
>
>
> --
> In Sport We Trust !!!
>



-- 
In Sport We Trust !!!

--~--~---------~--~----~------------~-------~--~----~
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