1Net::SSH::Perl::SubsystUesme:r:CCloinetnrti(b3u)ted PerlNeDto:c:uSmSeHn:t:aPteiroln::Subsystem::Client(3)
2
3
4
6 Net::SSH::Perl::Subsystem::Client - Subsystem client base class
7
9 package My::Subsystem;
10
11 use Net::SSH::Perl::Subsystem::Client;
12 @ISA = qw( Net::SSH::Perl::Subsystem::Client );
13
14 use constant MSG_HELLO => 1;
15
16 sub init {
17 my $system = shift;
18 $system->SUPER::init(@_);
19
20 my $msg = $system->new_msg(MSG_HELLO);
21 $msg->put_str("Hello, subsystem server.");
22 $msg->send;
23 }
24
25 sub subsystem { "mysubsystem" }
26
28 Net::SSH::Perl::Subsystem::Client simplifies the process of writing a
29 client for an SSH-2 subsystem. A subsystem is generally a networking
30 protocol that is built on top of an SSH channel--the channel provides
31 transport, connection, encryption, authentication, message integrity,
32 etc. The subsystem client and server communicate over this encrypted,
33 secure channel (a channel built over an insecure network). SSH provides
34 the encrypted transport, and the subsystem is then free to act like a
35 standard networking protocol.
36
37 Subsystem::Client is built on top of Net::SSH::Perl, which provides the
38 client end of the services described above (encryption, message
39 integrity checking, authentication, etc.). It is designed to be used
40 with a subsystem server, working with respect to an agreed-upon
41 networking protocol.
42
43 SFTP is an example of a subsystem: the underlying transport is set up
44 by Net::SSH::Perl, and on top of that layer, files can be transferred
45 and filesystems managed without knowledge of the secure tunnel.
46
48 Net::SSH::Perl::Subsystem::Client is intended to be used as a base
49 class for your protocol-specific client. It handles all interaction
50 with Net::SSH::Perl so that your focus can be on sending commands to
51 the subsystem server, etc.
52
53 Your subclass will probably be most interested in using and/or
54 overriding the following methods:
55
56 $sc->init(%args)
57 Initializes a new Subsystem::Client object: builds the SSH tunnel using
58 Net::SSH::Perl, then opens up a channel along which the subsystem
59 traffic will be sent. It then opens a connection to the subsystem
60 server.
61
62 You can override this method to provide any additional functionality
63 that your client might need; for example, you might wish to use it to
64 send an 'init' message to the subsystem server.
65
66
67
68perl v5.38.0 2023-08-0N8et::SSH::Perl::Subsystem::Client(3)