Module: Rex::Proto::Ssh::ServerClient
- Defined in:
- lib/rex/proto/ssh/server.rb
Instance Attribute Summary collapse
-
#connection ⇒ Object
readonly
Returns the value of attribute connection.
-
#server ⇒ Object
readonly
Returns the value of attribute server.
Instance Method Summary collapse
- #close ⇒ Object
-
#init_cli(server, do_not_start = false) ⇒ Object
Initialize a new connection instance.
Instance Attribute Details
#connection ⇒ Object (readonly)
Returns the value of attribute connection.
37 38 39 |
# File 'lib/rex/proto/ssh/server.rb', line 37 def connection @connection end |
#server ⇒ Object (readonly)
Returns the value of attribute server.
37 38 39 |
# File 'lib/rex/proto/ssh/server.rb', line 37 def server @server end |
Instance Method Details
#close ⇒ Object
32 33 34 35 |
# File 'lib/rex/proto/ssh/server.rb', line 32 def close @connection_thread.kill if @connection_thread and @connection_thread.alive? super end |
#init_cli(server, do_not_start = false) ⇒ Object
Initialize a new connection instance.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/rex/proto/ssh/server.rb', line 16 def init_cli(server, do_not_start = false) # Ssh relies on PTY not available on Windows, limiting the `require` here # ensures eager_load patterns from zeitwerk will not attempt to load `hrr_rb_ssh` # during startup. require 'rex/proto/ssh/connection' @server = server @connection = Rex::Proto::Ssh::Connection.new( self, server..merge(ssh_server: server), server.context ) @connection_thread = Rex::ThreadFactory.spawn("SshConnectionMonitor-#{self}", false) { self.connection.start } unless do_not_start rescue LoadError => e wlog(e) end |