View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Salvador Fandiño García > Net-OpenSSH-Compat-0.06 > Net::OpenSSH::Compat::SSH2



Annotate this POD


Open  0
View/Report Bugs
Module Version: 0.02   Source   Latest Release: Net-OpenSSH-Compat-0.09


Net::OpenSSH::Compat::SSH2 - Net::OpenSSH adapter for Net::SSH2 API compatibility


  use Net::OpenSSH::Compat::SSH2 qw(:supplant);

  use Net::SSH2;

  my $ssh2 = Net::SSH2->new;
  my $c = $ssh2->channel;
  print while <$c>;

  print "exit status: ", $c->exit_status, "\n";


This module implements Net::SSH2 API on top of Net::OpenSSH.

After the module is loaded as...

  use Net::OpenSSH::Compat::SSH2 qw(:supplant);

it will supplant the Net::SSH2 module as if it was installed on the machine and use Net::OpenSSH under the hood to handle SSH operations.

Most programs using Net::SSH2 should continue to work without any change.

Setting defaults

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

The entries currently supported are:

connection => [ %opts ]

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


  $Net::OpenSSH::Compat::SSH2::DEFAULTS{connection} =
    [ ssh_path => "/opt/SSH/bin/ssh" ];
channel => [ %opts ]

Extra options passed to Net::OpenSSH::open_ex method.

sftp => [ %opts ]

Extra options passed to Net::SFTP::Foreign::new constructor.

  $Net::OpenSSH::Compat::SSH2::DEFAULTS{connection} =
    [ read_ahead => 128 * 1024, queue_size => 20 ];


This is a work in progress.

Besides that, there are some functionality of Net::SSH2 that can not be emulated with Net::OpenSSH. Fortunatelly, the missing bits are rarely used so probably you may not need them at all.

Specifically, the return values from the $ssh2->method($ATTR) are not real but faked ones. auth_list return value is also faked.

Anyway, if your Net::SSH2 script fails, fill a bug report at the CPAN RT bugtracker ( 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::SSH2
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

My wishlist

If you like this module and you're feeling generous, take a look at my Amazon Wish List:

Also consider contributing to the OpenSSH project this module builds upon:


Copyright (C) 2011 by Salvador Fandiño (

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.

syntax highlighting: