There are a few differences.
`cap run httpd` works very much like `ssh host httpd` but it differs in a few ways:
It doesn't claim to be an interactive terminal. Anything that behaves differently for interactive use and non-interactive use will use the non-interactive behavior for Capistrano.
By default, `sudo` asks for passwords on interactive terminals but never tries asking a non-terminal. Check your security logs to see if this is happening to you.
Capistrano doesn't use the `ssh` command under the covers -- Capistrano uses the Ruby library `Net::SSH` instead of the C OpenSSH code.
If your SSH configuration uses some of OpenSSH more advanced features (like proxies or X11 forwarding) they may not work the same under Ruby's Net::SSH.
A useful debugging trick: compare the results of `ssh myhost env` against the results of `cap run env`. That will show any differences in environment variables.
Likewise, you can compare the results of `whoami` or `pwd`. If everything is still the same, running something with `sudo`.
Good luck finding the difference!
--
Rob Hunter
(typed with my thumbs)
--
* You received this message because you are subscribed to the Google Groups "Capistrano" group.
* To post to this group, send email to capis...@googlegroups.com
* To unsubscribe from this group, send email to capistrano+...@googlegroups.com For more options, visit this group at http://groups.google.com/group/capistrano?hl=en