Class: Proxy::RemoteExecution::Ssh::Runners::EffectiveUserMethod
- Inherits:
-
Object
- Object
- Proxy::RemoteExecution::Ssh::Runners::EffectiveUserMethod
show all
- Defined in:
- lib/smart_proxy_remote_execution_ssh/runners/script_runner.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(effective_user, ssh_user, effective_user_password) ⇒ EffectiveUserMethod
Returns a new instance of EffectiveUserMethod.
10
11
12
13
14
15
|
# File 'lib/smart_proxy_remote_execution_ssh/runners/script_runner.rb', line 10
def initialize(effective_user, ssh_user, effective_user_password)
@effective_user = effective_user
@ssh_user = ssh_user
@effective_user_password = effective_user_password.to_s
@password_sent = false
end
|
Instance Attribute Details
#effective_user ⇒ Object
Returns the value of attribute effective_user.
8
9
10
|
# File 'lib/smart_proxy_remote_execution_ssh/runners/script_runner.rb', line 8
def effective_user
@effective_user
end
|
#effective_user_password ⇒ Object
Returns the value of attribute effective_user_password.
8
9
10
|
# File 'lib/smart_proxy_remote_execution_ssh/runners/script_runner.rb', line 8
def effective_user_password
@effective_user_password
end
|
#password_sent ⇒ Object
Returns the value of attribute password_sent.
8
9
10
|
# File 'lib/smart_proxy_remote_execution_ssh/runners/script_runner.rb', line 8
def password_sent
@password_sent
end
|
#ssh_user ⇒ Object
Returns the value of attribute ssh_user.
8
9
10
|
# File 'lib/smart_proxy_remote_execution_ssh/runners/script_runner.rb', line 8
def ssh_user
@ssh_user
end
|
Instance Method Details
#cli_command_prefix ⇒ Object
36
|
# File 'lib/smart_proxy_remote_execution_ssh/runners/script_runner.rb', line 36
def cli_command_prefix; end
|
#filter_password?(received_data) ⇒ Boolean
24
25
26
|
# File 'lib/smart_proxy_remote_execution_ssh/runners/script_runner.rb', line 24
def filter_password?(received_data)
!@effective_user_password.empty? && @password_sent && received_data.match(Regexp.escape(@effective_user_password))
end
|
#login_prompt ⇒ Object
38
|
# File 'lib/smart_proxy_remote_execution_ssh/runners/script_runner.rb', line 38
def login_prompt; end
|
#on_data(received_data, io_buffer) ⇒ Object
17
18
19
20
21
22
|
# File 'lib/smart_proxy_remote_execution_ssh/runners/script_runner.rb', line 17
def on_data(received_data, io_buffer)
if received_data.match(login_prompt)
io_buffer.add_data(effective_user_password + "\n")
@password_sent = true
end
end
|
#reset ⇒ Object
32
33
34
|
# File 'lib/smart_proxy_remote_execution_ssh/runners/script_runner.rb', line 32
def reset
@password_sent = false
end
|
#sent_all_data? ⇒ Boolean
28
29
30
|
# File 'lib/smart_proxy_remote_execution_ssh/runners/script_runner.rb', line 28
def sent_all_data?
effective_user_password.empty? || password_sent
end
|