Classes and Modules
Module Net::SSH::UserAuth::Constants
Module Net::SSH::UserAuth::Methods
Module Net::SSH::UserAuth::Pageant
Class Net::SSH::UserAuth::Agent
Class Net::SSH::UserAuth::AgentError
Class Net::SSH::UserAuth::Driver
Class Net::SSH::UserAuth::UserKeyManager
Class Net::SSH::UserAuth::UserKeyManagerError
Public Instance methods
register_services( container )
     # File lib/net/ssh/userauth/services.rb, line 21
 21:       def register_services( container )
 22:         container.namespace_define :userauth do |b|
 23: 
 24:           b.require 'net/ssh/userauth/methods/services', "#{self}::Methods"
 25: 
 26:           b.agent_socket_factory do
 27:             if File::ALT_SEPARATOR
 28:               require 'net/ssh/userauth/pageant'
 29:               Pageant::Socket
 30:             else
 31:               require 'socket'
 32:               defined?( UNIXSocket ) ? UNIXSocket : nil
 33:             end
 34:           end
 35: 
 36:           b.default_agent_socket_name { ENV['SSH_AUTH_SOCK'] }
 37: 
 38:           b.default_agent_version { 2 }
 39:           
 40:           b.agent( :model => :prototype ) do |c,p|
 41:             socket_factory = c[:agent_socket_factory]
 42:             socket_name = c[:default_agent_socket_name]
 43: 
 44:             if socket_name && socket_factory
 45:               require 'net/ssh/userauth/agent'
 46:               require 'net/ssh/transport/services'
 47: 
 48:               agent = Agent.new
 49:               agent.socket_factory = socket_factory
 50:               agent.socket_name = socket_name
 51:               agent.version = c[:default_agent_version]
 52:               agent.buffers = c[:transport][:buffers]
 53:               agent.keys = c[:transport][:keys]
 54:               agent.connect!
 55:             end
 56: 
 57:             agent
 58:           end
 59: 
 60:           b.agent_factory do |c,p|
 61:             factory = Object.new
 62:             klass = class << factory; self; end
 63:             klass.send( :define_method, :open ) { c[:agent] }
 64:             factory
 65:           end
 66: 
 67:           b.default_user_key_locations do
 68:             [ "#{ENV['HOME']}/.ssh/id_dsa",
 69:               "#{ENV['HOME']}/.ssh2/id_dsa",
 70:               "#{ENV['HOME']}/.ssh/id_rsa",
 71:               "#{ENV['HOME']}/.ssh2/id_rsa" ]
 72:           end
 73: 
 74:           b.default_host_key_locations do
 75:             [ "/etc/ssh/ssh_host_dsa_key",
 76:               "/etc/ssh/ssh_host_rsa_key" ]
 77:           end
 78: 
 79:           b.key_existence_tester { File }
 80: 
 81:           b.user_keys do |c,p|
 82:             require 'net/ssh/userauth/userkeys'
 83: 
 84:             userkeys = UserKeyManager.new
 85:             userkeys.agent_factory = c[:agent_factory]
 86:             userkeys.keys = c[:transport][:keys]
 87:             userkeys.buffers = c[:transport][:buffers]
 88:             userkeys.log = c[:log_for, p]
 89:             userkeys.key_existence_tester = b.key_existence_tester
 90: 
 91:             b.default_user_key_locations.each { |f| userkeys.add f }
 92:             b.default_host_key_locations.each { |f| userkeys.add_host_key f }
 93: 
 94:             userkeys
 95:           end
 96: 
 97:           b.authentication_method_order do
 98:             [ "publickey",
 99:               "hostbased",
100:               "password",
101:               "keyboard-interactive" ]
102:           end
103: 
104:           b.driver do |c,p|
105:             require 'net/ssh/userauth/driver'
106: 
107:             driver = Driver.new( c[:log_for, p],
108:                                  c[:transport][:buffers],
109:                                  c[:methods],
110:                                  c[:authentication_method_order] )
111: 
112:             driver.key_manager = c[:user_keys]
113:             driver.session = c[:transport][:session]
114: 
115:             if c.knows_key?(:userauth_keys) && c[:userauth_keys]
116:               driver.set_key_files c[:userauth_keys]
117:             end
118:             if c.knows_key?(:userauth_host_keys) && c[:userauth_host_keys]
119:               driver.set_host_key_files c[:userauth_host_keys]
120:             end
121:             if c.knows_key?(:userauth_method_order) && c[:userauth_method_order]
122:               driver.set_auth_method_order *c[:userauth_method_order]
123:             end
124: 
125:             driver
126:           end
127: 
128:         end
129:       end

[Validate]