#13 open
Luis Lavena

Pageant Agent (Windows) do not conform an IO object to be used with Capistrano

Reported by Luis Lavena | June 1st, 2010 @ 05:40 PM

Hello,

This issue was originally reported here:

http://capistrano.lighthouseapp.com/projects/8716/tickets/164-pagea...

I'm using Ruby 1.8.6 under Windows and recently started to deploy with latest versions of Capistrano (precisely 2.5.18.

Using Net::SSH directly with this example:


require 'rubygems'
require 'net/ssh'

Net::SSH.start('ubuntux86', 'deploy') do |ssh|
  output = ssh.exec("hostname")
  puts "*** HOSTNAME: #{output}"
end

I was able to connect without issues.

But using Capistrano, I receive the following error:


C:/Users/Luis/.gem/ruby/x86-mingw32/1.8/gems/capistrano-2.5.18/lib/capistrano/processable.rb:25:in `select': can't convert Net::SSH::Authentication::Pageant::Socket into IO (TypeError)
        from C:/Users/Luis/.gem/ruby/x86-mingw32/1.8/gems/capistrano-2.5.18/lib/capistrano/processable.rb:25:in `process_iteration'
        from C:/Users/Luis/.gem/ruby/x86-mingw32/1.8/gems/capistrano-2.5.18/lib/capistrano/command.rb:163:in `process!'
        from C:/Users/Luis/.gem/ruby/x86-mingw32/1.8/gems/capistrano-2.5.18/lib/capistrano/command.rb:162:in `loop'
        from C:/Users/Luis/.gem/ruby/x86-mingw32/1.8/gems/capistrano-2.5.18/lib/capistrano/command.rb:162:in `process!'
        from C:/Users/Luis/.gem/ruby/x86-mingw32/1.8/gems/capistrano-2.5.18/lib/capistrano/command.rb:133:in `process'
        from C:/Users/Luis/.gem/ruby/x86-mingw32/1.8/gems/capistrano-2.5.18/lib/capistrano/configuration/actions/invocation.rb:175:in `run_tree'
        from C:/Users/Luis/.gem/ruby/x86-mingw32/1.8/gems/capistrano-2.5.18/lib/capistrano/configuration/connections.rb:172:in `execute_on_servers'
        from C:/Users/Luis/.gem/ruby/x86-mingw32/1.8/gems/capistrano-2.5.18/lib/capistrano/cli/execute.rb:80:in `each_slice'
         ... 16 levels...

After looking into processable.rb, seems that the issue is this:

http://github.com/capistrano/capistrano/blob/master/lib/capistrano/...

It assumes the initialized socket for Pageant is a IO object, which is not. Making it inherited from IO do not fix the issue.

Is there anyone actively support Pageant?

Thank you.

Comments and changes to this ticket

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

Pure Ruby implementation of an SSH (protocol 2) client

Shared Ticket Bins