Class: HrrRbSsh::Authentication::Method::Password
- Inherits:
-
HrrRbSsh::Authentication::Method
- Object
- HrrRbSsh::Authentication::Method
- HrrRbSsh::Authentication::Method::Password
- Defined in:
- lib/hrr_rb_ssh/authentication/method/password.rb,
lib/hrr_rb_ssh/authentication/method/password/context.rb
Defined Under Namespace
Classes: Context
Constant Summary collapse
- NAME =
'password'- PREFERENCE =
10
Instance Method Summary collapse
- #authenticate(userauth_request_message) ⇒ Object
-
#initialize(transport, options, variables, authentication_methods) ⇒ Password
constructor
A new instance of Password.
- #request_authentication(username, service_name) ⇒ Object
Methods included from SubclassWithPreferenceListable
#[], #inherited, #list_preferred, #list_supported
Constructor Details
#initialize(transport, options, variables, authentication_methods) ⇒ Password
Returns a new instance of Password.
13 14 15 16 17 18 19 20 |
# File 'lib/hrr_rb_ssh/authentication/method/password.rb', line 13 def initialize transport, , variables, authentication_methods @logger = Logger.new(self.class.name) @transport = transport @authenticator = .fetch( 'authentication_password_authenticator', Authenticator.new { false } ) @options = @variables = variables @authentication_methods = authentication_methods end |
Instance Method Details
#authenticate(userauth_request_message) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/hrr_rb_ssh/authentication/method/password.rb', line 22 def authenticate @logger.info { "authenticate" } @logger.debug { "userauth request: " + .inspect } username = [:'user name'] password = [:'plaintext password'] context = Context.new(username, password, @variables, @authentication_methods) @authenticator.authenticate context end |
#request_authentication(username, service_name) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/hrr_rb_ssh/authentication/method/password.rb', line 31 def request_authentication username, service_name password = @options['client_authentication_password'] = { :'message number' => Message::SSH_MSG_USERAUTH_REQUEST::VALUE, :"user name" => username, :"service name" => service_name, :"method name" => NAME, :"FALSE" => false, :"plaintext password" => password, } payload = Message::SSH_MSG_USERAUTH_REQUEST.encode @transport.send payload payload = @transport.receive end |