logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Bugs And Support

Thisisaworkinprogress.

       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
       (<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::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.

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

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

Description

       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.

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

           Example:

             $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 ];

Name

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

Synopsis

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

         use Net::SSH2;

         my $ssh2 = Net::SSH2->new;
         $ssh2->connect('host');
         $ssh2->auth_publickey("jsmith",
                               "/home/jsmith/.ssh/id_dsa.pub",
                               "/home/jsmith/.ssh/id_dsa");
         my $c = $ssh2->channel;
         $c->exec("ls");
         print while <$c>;

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

See Also