summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2002-02-15 19:49:54 +0000
committerivan <ivan>2002-02-15 19:49:54 +0000
commit815921bb128358d9e85beb84157f44c1b6ed451f (patch)
tree417b1666bdaf1fd875925cda49c81c0b810ff180
parenta9031ec538ba9b68d1bd9f4538e39b196c05def2 (diff)
-rw-r--r--Changes5
-rw-r--r--README14
-rw-r--r--SSH.pm34
3 files changed, 30 insertions, 23 deletions
diff --git a/Changes b/Changes
index 9db64af..a45b93a 100644
--- a/Changes
+++ b/Changes
@@ -1,7 +1,8 @@
Revision history for Perl extension Net::SSH.
-0.04 fri Feb 15 14:05:06 2002
- - added ssh_cmd
+0.04 Fri Feb 15 14:05:06 2002
+ - added ssh_cmd from Martin Langhoff <martin@cwa.co.nz> with updates by
+ Jeff Raffo <jraffo@fix.net>
0.03 Wec Oct 24 03:49:06 2001
- current OpenSSH wants s/ /=/ in -o options
diff --git a/README b/README
index 02b859f..861f60f 100644
--- a/README
+++ b/README
@@ -1,13 +1,14 @@
-Net::SSH v0.01
+Net::SSH v0.04
-Copyright (c) 2000 Ivan Kohler.
-Copyright (c) 2000 Silicon Interactive Software Design.
-Copyright (c) 2000 Freeside Internet Services, LLC
+Copyright (c) 2002 Ivan Kohler.
+Copyright (c) 2002 Freeside Internet Services, LLC
All rights reserved.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
-This module implements a Perl interface to ssh.
+This module implements a Perl interface to ssh. It is a simple wrapper around
+the system `ssh' command. For an all-perl implementation that does not require
+the system `ssh' command, see Net::SSH::Perl.
To install:
perl Makefile.PL
@@ -29,7 +30,6 @@ A mailing list for users and developers is available. Send a blank message to
<ivan-netssh-subscribe@420.am> to subscribe.
Ivan Kohler <ivan-netssh_readme@420.am>
-20 4,16 * * * saytime
-$Id: README,v 1.2 2000-11-25 23:47:26 ivan Exp $
+$Id: README,v 1.3 2002-02-15 19:49:54 ivan Exp $
diff --git a/SSH.pm b/SSH.pm
index 990fa20..723237c 100644
--- a/SSH.pm
+++ b/SSH.pm
@@ -35,7 +35,10 @@ Net::SSH - Perl extension for secure shell
=head1 DESCRIPTION
-Simple wrappers around ssh commands.
+Simple wrappers around ssh commands. For an all-perl implementation that does
+not require
+the system `ssh' command, see Net::SSH::Perl.
+
=head1 SUBROUTINES
@@ -73,8 +76,8 @@ sub issh {
=item ssh_cmd [USER@]HOST, COMMAND [, ARGS ... ]
-Calls ssh in batch mode. Dies if data occurs on the error stream. Warns
-of data on the output stream.
+Calls ssh in batch mode. Throws a fatal error if data occurs on the command's
+STDERR. Returns any data from the command's STDOUT.
=cut
@@ -83,19 +86,19 @@ sub ssh_cmd {
my $reader = IO::File->new();
my $writer = IO::File->new();
- my $error = IO::File->new();
+ my $error = IO::File->new();
sshopen3( $host, $reader, $writer, $error, @command ) or die $!;
local $/ = undef;
- my $output_stream = <$writer>;
+ my $output_stream = <$writer>;
my $error_stream = <$error>;
+
if ( length $error_stream ) {
die "[Net:SSH::ssh_cmd] STDERR $error_stream";
}
- if ( length $output_stream ) {
- warn "[Net::SSH::ssh_cmd] STDOUT $output_stream";
- }
+
+ return $output_stream;
}
@@ -160,19 +163,19 @@ Q: My script is "leaking" ssh processes.
A: See L<perlfaq8/"How do I avoid zombies on a Unix system">, L<IPC::Open2>,
L<IPC::Open3> and L<perlfunc/waitpid>.
-=head1 AUTHOR
+=head1 AUTHORS
Ivan Kohler <ivan-netssh_pod@420.am>
-=head1 CREDITS
+John Harrison <japh@in-ta.net> contributed an example for the documentation.
- John Harrison <japh@in-ta.net> contributed an example for the documentation.
+Martin Langhoff <martin@cwa.co.nz> contributed the ssh_cmd command, and
+Jeff Raffo <jraffo@fix.net> updated it and took care of the 0.04 release.
=head1 COPYRIGHT
-Copyright (c) 2000 Ivan Kohler.
-Copyright (c) 2000 Silicon Interactive Software Design.
-Copyright (c) 2000 Freeside Internet Services, LLC
+Copyright (c) 2002 Ivan Kohler.
+Copyright (c) 2002 Freeside Internet Services, LLC
All rights reserved.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
@@ -185,6 +188,9 @@ Look at IPC::Session (also fsh)
=head1 SEE ALSO
+For an all-perl implementation that does not require the system B<ssh> command,
+see L<Net::SSH::Perl>.
+
ssh-keygen(1), ssh(1), L<IO::File>, L<IPC::Open2>, L<IPC::Open3>
=cut