.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "Net::CLI::Interact::Transport::Net_OpenSSH 3pm" .TH Net::CLI::Interact::Transport::Net_OpenSSH 3pm "2016-10-24" "perl v5.24.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Net::CLI::Interact::Transport::Net_OpenSSH \- Net::OpenSSH based CLI connection .SH "VERSION" .IX Header "VERSION" Version 0.01 .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module provides a wrapped instance of a Net::OpenSSH \s-1SSH\s0 client object for use by Net::CLI::Interact. .PP This allows one to combine the capability of Net::CLI::Interact to talk to remote servers for which Net::OpenSSH one-command-per-session approach is not well suited (i.e. network equipment running custom administration shells) and still use the capability of Net::OpenSSH to run several sessions over one single \s-1SSH\s0 connection, including accessing \s-1SCP\s0 and \s-1SFTP\s0 services. .PP Note that this transport is not supported on Windows as Net::OpenSSH is not supported there either. .SH "INTERFACE" .IX Header "INTERFACE" .SS "app_and_runtime_options" .IX Subsection "app_and_runtime_options" Based on the \f(CW\*(C`connect_options\*(C'\fR hash provided to Net::CLI::Interact on construction, selects and formats the command and arguments required to run the \s-1SSH\s0 session over the Net::OpenSSH connection. .PP Under the hood, this method just wraps Net::OpenSSH \&\f(CW\*(C`make_remote_command\*(C'\fR method. .PP Supported attributes: .IP "master" 4 .IX Item "master" Reference to the Net::OpenSSH object wrapping the \s-1SSH\s0 master connection. .IP "opts" 4 .IX Item "opts" Optional hash of extra options to be forwarded to Net::OpenSSH \&\f(CW\*(C`make_remote_command\*(C'\fR method. .IP "shell_cmd" 4 .IX Item "shell_cmd" Remote command to start the shell. Can be a single string or an array reference. .Sp The default is to pass nothing which on conforming \s-1SSH\s0 implementations starts the shell configured for the user. .Sp Examples: .Sp .Vb 5 \& # interact with default user shell: \& $s\->new({ \& # ...other parameters to new()... \& connect_options => { master => $ssh }, \& }); \& \& # interact with csh: \& $s\->new({ \& # ...other parameters to new()... \& connect_options => { \& master => $ssh, \& shell_cmd => [\*(Aqcsh\*(Aq, \*(Aq\-i\*(Aq], \& }, \& }); .Ve .IP "reap" 4 .IX Item "reap" Only used on Unix platforms, this installs a signal handler which attempts to reap the \f(CW\*(C`ssh\*(C'\fR child process. Pass a true value to enable this feature only if you notice zombie processes are being left behind after use. .SH "COMPOSITION" .IX Header "COMPOSITION" See the following for further interface details: .IP "\(bu" 4 Net::CLI::Interact::Transport::Base .SH "AUTHORS" .IX Header "AUTHORS" Oliver Gorwits Salvador Fandiño .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 2014 by Oliver Gorwits. This software is copyright (c) 2014 by Salvador Fandiño. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.