Provided by: libnet-openssh-compat-perl_0.09-1_all bug


       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 accessible 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. Fortunately, 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, 2014-2016 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.