SUDO Problem

3,971 views
Skip to first unread message

partydrone

unread,
Oct 30, 2009, 4:32:42 PM10/30/09
to Capistrano
When trying to deploy to a new staging server, I get the following
error:

sudo: no tty present and no askpass program specified

Anyone know what's up with this and how do I fix it?

Thanks!

Lee Hambley

unread,
Oct 30, 2009, 7:09:36 PM10/30/09
to capis...@googlegroups.com
You do not have a tty (you are therefore using a pty) -- and you do not have passwordless sudo access configured.

You can alter capistrano's configuration to use the other (a tty, or a pty, whichever your configuration requires)

-- Lee Hambley

Twitter: @leehambley | @capistranorb

Mike Bailey

unread,
Oct 31, 2009, 6:16:37 AM10/31/09
to Capistrano
I just bit by the same problem connecting to Ubuntu 9.10 (Karmic
Koala).

I think this is going to affect all Capistrano users who use sudo in
recipes.

Capistrano supports sudo with passwords and ubuntu has always granted
a pty when you ssh to it.

Any idea what may have changed in last weeks release of Ubuntu?

- Mike

Lee Hambley

unread,
Oct 31, 2009, 6:31:26 AM10/31/09
to capis...@googlegroups.com
No Mike, but I'd love to know, if you come across any evidence, I'd really appreciated if you shared it on here; we've been saying for a long time that using sudo during deployment encourages insecure/unsafe setups (and of course, means that we're making assumptions that don't apply to a /lot/ of people on shared hosting.. so this may yet change)

Mike Bailey

unread,
Oct 31, 2009, 8:26:08 AM10/31/09
to capis...@googlegroups.com
sudo is necessary in some circumstances (such as creating a user or installing a package)

I've been having a look into this and found that the password prompt for sudo doesn't seem to be working on a host I've been using since 2006.

maculike:~ mbailey$ cap test_sudo HOSTS=sh01
    triggering load callbacks
  * executing `deprec:connect_canonical_tasks'
  * executing `test_sudo'
  * executing "sudo hostname"
    servers: ["sh01"]
    [sh01] executing command
*** [err :: sh01] Password:
my_password     

Has something changed in Capistrano that broke entering my sudo password? I'm using capistrano-2.5.9

- Mike

Lee Hambley

unread,
Oct 31, 2009, 9:21:56 AM10/31/09
to capis...@googlegroups.com
Nothing changed Mike, but passworded sudo access isn't supported officially, because it's so damned difficult to get right across multiple platforms. 

-- Lee Hambley

Twitter: @leehambley | @capistranorb
Blog: http://lee.hambley.name/
Working with Rails: http://is.gd/1s5W1


2009/10/31 Mike Bailey <mi...@bailey.net.au>

Mike Bailey

unread,
Oct 31, 2009, 9:51:24 AM10/31/09
to capis...@googlegroups.com
The following error appears when Capistrano attempts to use sudo with a password on Ubuntu 9.10 "Karmic Koala":


sudo: no tty present and no askpass program specified

This can be solved by setting the following variable:

default_run_options[:pty] = true

You can do this in your ~/.caprc file, /etc/capistrano.conf, ./Capfile, or deploy.rb

http://weblog.jamisbuck.org/2007/10/14/capistrano-2-1

Thanks to Lee for pointing this out

- Mike

Mike Bailey

unread,
Oct 31, 2009, 9:56:32 AM10/31/09
to capis...@googlegroups.com
On Sun, Nov 1, 2009 at 12:21 AM, Lee Hambley <lee.h...@gmail.com> wrote:
Nothing changed Mike, but passworded sudo access isn't supported officially, because it's so damned difficult to get right across multiple platforms.

I thought we solved it a while ago by using #{sudo} in commands:

run "#{sudo} hostname"

instead of:

run "sudo hostname"

What platform does it not work on?

This is actually why my test task failed on the server from 2006. I was tired and forgot to use #{sudo}. :-)

- Mike


Lee Hambley

unread,
Oct 31, 2009, 10:20:18 AM10/31/09
to capis...@googlegroups.com
Mike,

Sure, it's supposed to be like the way you just explained it - glad we didn't break anything for you :-D

leo

unread,
Nov 14, 2009, 3:42:22 PM11/14/09
to Capistrano
Thanks a lot Mike, this helped a lot!

On Oct 31, 8:51 am, Mike Bailey <m...@bailey.net.au> wrote:
> The following error appears when Capistrano attempts to use sudo with a
> password on Ubuntu 9.10 "Karmic Koala":
>
> sudo: no tty present and no askpass program specified
>
> This can be solved by setting the following variable:
>
> default_run_options[:pty] = true
>
> You can do this in your ~/.caprc file, /etc/capistrano.conf, ./Capfile, or
> deploy.rb
>
> http://weblog.jamisbuck.org/2007/10/14/capistrano-2-1
>
> Thanks to Lee for pointing this out
>
> - Mike
>
> On Sun, Nov 1, 2009 at 12:21 AM, Lee Hambley <lee.hamb...@gmail.com> wrote:
> > Nothing changed Mike, but passworded sudo access isn't supported
> > officially, because it's so damned difficult to get right across multiple
> > platforms.
>
> > -- Lee Hambley
>
> > Twitter: @leehambley | @capistranorb
> > Blog:http://lee.hambley.name/
> > Working with Rails:http://is.gd/1s5W1
>
> > 2009/10/31 Mike Bailey <m...@bailey.net.au>
>
> > sudo is necessary in some circumstances (such as creating a user or
> >> installing a package)
>
> >> I've been having a look into this and found that the password prompt for
> >> sudo doesn't seem to be working on a host I've been using since 2006.
>
> >> maculike:~ mbailey$ cap test_sudo HOSTS=sh01
> >>     triggering load callbacks
> >>   * executing `deprec:connect_canonical_tasks'
> >>   * executing `test_sudo'
> >>   * executing "sudo hostname"
> >>     servers: ["sh01"]
> >>     [sh01] executing command
> >> *** [err :: sh01] Password:
> >> my_password
>
> >> Has something changed in Capistrano that broke entering my sudo password?
> >> I'm using capistrano-2.5.9
>
> >> - Mike
>

Wil Ferrel

unread,
Aug 6, 2013, 4:00:14 PM8/6/13
to capis...@googlegroups.com
This did it for me.. Now I can deploy! Thank you
Reply all
Reply to author
Forward
0 new messages