Net::O...::SSH2(3pm)

πŸ“¦
version 0.09 Β· 2 versions
  • 0.09 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking (latest)
  • 0.09 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– Net::OpenSSH::Compat::SSH2 πŸ’–

okay bestie, so this little icon is from the Net::O...::SSH2(3pm) page β€” the User Contributed Perl Documentation girlies β€” and she is literally the Net::OpenSSH adapter that gives you Net::SSH2 API compatibility. let's get into it 🫢


✨ NAME ✨

Net::OpenSSH::Compat::SSH2 β€” it's a Net::OpenSSH adapter for Net::SSH2 API compatibility. no cap, that's the whole vibe. πŸ’…


🌸 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 how it's giving "Net::SSH2 but make it Net::OpenSSH"? that's the entire point bestie πŸ¦‹


πŸ‘‘ DESCRIPTION πŸ‘‘

This module implements the Net::SSH2 API on top of Net::OpenSSH. it's giving undercover, it's giving glow-up. πŸ’–

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. so like, the whole thing is cosplaying as Net::SSH2 and doing it flawlessly. main character energy fr fr ✨

Most programs using Net::SSH2 should continue to work without any change. slay. no edits needed, just vibes. πŸ’…

πŸŽ€ 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. so it's like, the secret backstage pass. 🎟️

The entries currently supported are:

  • connection => [ %opts ] β€” Extra options passed to the Net::OpenSSH::new constructor. 🫢

Example:

  $Net::OpenSSH::Compat::SSH2::DEFAULTS{connection} =
    [ ssh_path => "/opt/SSH/bin/ssh" ];
  • channel => [ %opts ] β€” Extra options passed to the Net::OpenSSH::open_ex method. πŸ’œ
  • sftp => [ %opts ] β€” Extra options passed to the Net::SFTP::Foreign::new constructor. πŸ“
  $Net::OpenSSH::Compat::SSH2::DEFAULTS{connection} =
    [ read_ahead => 128 * 1024, queue_size => 20 ];

πŸ’€ BUGS AND SUPPORT πŸ’€

This is a work in progress. 🚧 (not me being honest about my own WIP, we love growth)

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. so like, don't panic bestie, it's fine. πŸ™ˆ

Specifically, the return values from the $ssh2->method($ATTR) are not real but faked ones. auth_list return value is also faked. yes, we're serving lies but they're decorative lies, iykyk. πŸ’…

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. we will fix it, periodt. πŸ”₯

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 <https://github.com/salva/p5-Net-OpenSSH-Compat>. go peek, it's cute in there. 🌈

⭐ 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>. giving back is the real main character move. πŸ‘‘


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.


and that's the whole page bestie!! this one shipped as perl v5.34.0, dated 2022-06-30, from the Net::O...::SSH2(3pm) manual β€” mwah, ily, go read your logs πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from