---
name: "Net::OpenSSH::Compat::Perl"
section: "3pm"
platform: "linux"
package: "libnet-openssh-compat-perl"
version: "0.09-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::OpenSSH::Compat::Perl"
---

# Net::OpenSSH::Compat::Perl(3pm)

Net::OpenSSH adapter for Net::SSH::Perl API compatibility

## NAME

Net::OpenSSH::Compat::Perl - Net::OpenSSH adapter for Net::SSH::Perl API compatibility

## SYNOPSIS

```
  use Net::OpenSSH::Compat::Perl qw(:supplant);
  use Net::SSH::Perl;
  my $ssh = Net::SSH::Perl->new('host');
  $ssh->login($user, $passwd);
  my ($out, $err, $rc) = $ssh->cmd($cmd);
```

## DESCRIPTION

This module implements a subset of Net::SSH::Perl API on top of Net::OpenSSH.

After the module is loaded as...

```
  use Net::OpenSSH::Compat::Perl qw(:supplant);
```

... it supplants the Net::SSH::Perl module as if it were installed on the machine using Net::OpenSSH under the hood to handle SSH operations.

### Setting defaults

The hash `%Net::OpenSSH::Compat::Perl::DEFAULTS` can be used to set default values for Net::OpenSSH and other modules called under the hood and otherwise not accessible through the Net::SSH::Perl API.

The entries currently supported are:

- connection =\> \[ %opts \]

  Extra options passed to `"Net::OpenSSH::new"` constructor.

  Example:

  ```
    $Net::OpenSSH::Compat::SSH::Perl::DEFAULTS{connection} =
      [ ssh_path => "/opt/SSH/bin/ssh" ];
  ```

## BUGS AND SUPPORT

**This is a work in progress.**

`"register_handler"` method is not supported.

Net::SSH::Perl submodules (i.e. Net::SSH::Perl::Channel) are not emulated.

Anyway, if your Net::SSH::Perl script fails, fill a bug report at the CPAN RT bugtracker (\<https://rt.cpan.org/Ticket/Create.html?Queue=Net-OpenSSH-Compat\>) or just send me an e-mail with the details.

Include at least:

- 1 - The full source of the script

  - 2 - A description of what happens in your machine

  - 3 - What you thing it should be happening

  - 4 - What happens when you use the real Net::SSH::Perl

  - 5 - The version and name of your operating system

  - 6 - The version of the OpenSSH ssh client installed on your machine ("ssh -V")

  - 7 - The Perl version ("perl -V")

  - 8 - The versions of the Perl packages Net::OpenSSH, IO::Pty and this Net::OpenSSH::Compat.

  ### Git repository

The source code repository is at \<https://github.com/salva/p5-Net-OpenSSH-Compat\>.

### My wishlist

If you like this module and you're feeling generous, take a look at my Amazon Wish List: \<http://amzn.com/w/1WU1P6IR5QZ42\>

Also consider contributing to the OpenSSH project this module builds upon: \<http://www.openssh.org/donations.html\>.

## COPYRIGHT AND LICENSE

Copyright (C) 2011, 2014-2016 by Salvador Fandiño (sfandino@yahoo.com)

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.
