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);

sshopen2('user@hostname', $reader, $writer, $command);

sshopen3('user@hostname', $writer, $reader, $error, $command);

DESCRIPTION

Simple wrappers around ssh commands.

SUBROUTINES

ssh [USER@]HOST, COMMAND [, ARGS ... ]

Calls ssh in batch mode.

issh [USER@]HOST, COMMAND [, ARGS ... ]

Prints the ssh command to be executed, waits for the user to confirm, and (optionally) executes the command.

sshopen2 [USER@]HOST, READER, WRITER, COMMAND [, ARGS ... ]

Connects the supplied filehandles to the ssh process (in batch mode).

sshopen3 HOST, WRITER, READER, ERROR, COMMAND [, ARGS ... ]

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 "How do I avoid zombies on a Unix system" in perlfaq8, IPC::Open2, IPC::Open3 and "waitpid" in perlfunc.

AUTHOR

Ivan Kohler <ivan-netssh_pod@420.am>

CREDITS

John Harrison <japh@in-ta.net> contributed an example for the documentation.

COPYRIGHT

Copyright (c) 2000 Ivan Kohler. Copyright (c) 2000 Silicon Interactive Software Design. Copyright (c) 2000 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

ssh-keygen(1), ssh(1), IPC::Open2, IPC::Open3