SSH(3)

NAME
Net::SSH - Perl extension for secure shell

SYNOPSIS
  use Net::SSH qw(ssh issh sshopen2 sshopen3);
  ssh('user@hostname', $command);
  issh('user@hostname', $command);
  ssh_cmd('user@hostname', $command);
  sshopen2('user@hostname', $reader, $writer, $command);
  sshopen3('user@hostname', $writer, $reader, $error, $command);

DESCRIPTION
Simple wrappers around ssh commands.

For an all-perl implementation that does not require the system ssh command, see the Net::SSH::Perl manpage instead.

SUBROUTINES
Calls ssh in batch mode. Prints the ssh command to be executed, waits for the user to confirm, and (optionally) executes the command. 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. Connects the supplied filehandles to the ssh process (in batch mode). Connects the supplied filehandles to the ssh process (in batch mode).

EXAMPLE
  use Net::SSH qw(sshopen2);
  use strict;
  my $user = "username";
  my $host = "hostname";
  my $cmd = "command";
  sshopen2("$user\@$host", *READER, *WRITER, "$cmd") || die "ssh: $!";
  while (<READER>) {
      chomp();
      print "$_\n";
  }
  close(READER);
  close(WRITER);

FREQUENTLY ASKED QUESTIONS
Q: How do you supply a password to connect with ssh within a perl script using the Net::SSH module?

A: You don't. Use RSA or DSA keys. See the ssh-keygen(1) manpage.

Q: My script is "leaking" ssh processes.

A: See the How do I avoid zombies on a Unix system entry in the perlfaq8 manpage, the IPC::Open2 manpage, the IPC::Open3 manpage and the waitpid entry in the perlfunc manpage.

AUTHORS
Ivan Kohler <ivan-netssh_pod@420.am>

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 Finucane <jeff@cmh.net> updated it and took care of the 0.04 release.

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

BUGS
Not OO.

Look at IPC::Session (also fsh)

SEE ALSO
For an all-perl implementation that does not require the system ssh command, see the Net::SSH::Perl manpage instead.

ssh-keygen(1), ssh(1), the IO::File manpage, the IPC::Open2 manpage, the IPC::Open3 manpage