---
name: "Net::CLI::Interact::Transport::Net_OpenSSH"
section: "3pm"
platform: "linux"
package: "libnet-cli-interact-perl"
version: "2.400002-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::CLI::Interact::Transport::Net_OpenSSH"
---

# Net::CLI::Interact::Transport::Net\_OpenSSH(3pm)

Net::OpenSSH based CLI connection

## 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:

- •

  Net::CLI::Interact::Transport::Base

## 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.
