NAME

Net::CLI::Interact::Transport::Net_OpenSSH - Net::OpenSSH based CLI connection

DESCRIPTION

This module provides a wrapped instance of a Net::OpenSSH SSH client object for use by Net::CLI::Interact.

This allows one to combine the capability of Net::CLI::Interact to talk to remote servers for which Net::OpenSSH one-command-per-session approach is not well suited (i.e. network equipment running custom administration shells) and still use the capability of Net::OpenSSH to run several sessions over one single SSH connection, including accessing SCP and SFTP services.

Note that this transport is not supported on Windows as Net::OpenSSH is not supported there either.

INTERFACE

app_and_runtime_options

Based on the connect_options hash provided to Net::CLI::Interact on construction, selects and formats the command and arguments required to run the SSH session over the Net::OpenSSH connection.

Under the hood, this method just wraps Net::OpenSSH make_remote_command method.

Supported attributes:

master

Reference to the Net::OpenSSH object wrapping the SSH master connection.

opts

Optional hash of extra options to be forwarded to Net::OpenSSH make_remote_command method.

shell_cmd

Remote command to start the shell. Can be a single string or an array reference.

The default is to pass nothing which on conforming SSH implementations starts the shell configured for the user.

Examples:

# interact with default user shell:
$s->new({
   # ...other parameters to new()...
   connect_options => { master => $ssh },
});

# interact with csh:
$s->new({
   # ...other parameters to new()...
   connect_options => {
       master => $ssh,
       shell_cmd => ['csh', '-i'],
   },
});
reap

Only used on Unix platforms, this installs a signal handler which attempts to reap the ssh child process. Pass a true value to enable this feature only if you notice zombie processes are being left behind after use.

COMPOSITION

See the following for further interface details:

AUTHORS

Oliver Gorwits <oliver@cpan.org> Salvador Fandiño <sfandino@yahoo.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Oliver Gorwits. This software is copyright (c) 2014 by Salvador Fandiño.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.