Here is some code that you should be able to easily adapt, this was one of the subroutines used to collect data from over 600 servers prior to a DCM - just adapt and substitute your own bits.
Regards
Gull04
---------- Post updated at 12:51 PM ---------- Previous update was at 12:35 PM ----------
Hi,
Just for some more information, here is one of the more simple routines that are called in the ssh calling script.
Dear Unix Guru,
I have several directories as below
/home/user/
dir1
dir2
dir3
Each directory has different size. I want to print each directory size (Solaris command du -hs .)
Can you please guide me how to achieve this?
Thanks
Bala (2 Replies)
Hello,
Currently we are having different linux servers (for example: let's assume audio server, video server and text server) to handle requests from outside users. Suppose the outside users in different LAN (Local Area Network), other than the servers. For example user is in 20 series LAN and... (5 Replies)
Hi,
I've to do a simple job many times whenever it has been asked, just i've to log in to all of fourtien HP servers and i've to execute
ps -fu user > temp
cat temp|sendmail "xyz@z.com"
commands to send the statics of all of 14 servers over the mail to particular user id..
Though logging... (4 Replies)
Hello,
I am a Unix newbie and I need a script in which I can run a command on multiple servers at work. The command is to start a storage process and I am sick of doing it manually on all servers..
Here's the command:
/opt/bss/bin/snmptable -CB -v2c -c P67LzuBm hostname hrStorageTable... (4 Replies)
Hi,
I have a program which needs to connect multiple servers at the same time. The program has to collect data from each of servers and then make a decision regarding to the data received.
There are several requirements.
1. Server (s) may shutdown anytime without any ack (e.g.power... (1 Reply)
hi guys,
i need a script that does a simple task on multiple aix servers.
if possible with both telnet and ssh.
the simple task i wanna do is connect to a server and run "ifconfig -a" and get the output. nextweek i need to do similar jobs on like 50 servers... :(
can anybody help me with making... (2 Replies)
Normally i would do this-
cd abc
ls -ltr
I wish to run above command in a single line, like this-
cd abc | ls -ltr
But above command doesn't works, it simply runs the second command, ignoring the 1st one.
:confused: (4 Replies)
I have 9 servers, on each server a script with common name is available.
I send a token file to all server from 1 particular server. so when a daemon job checks that token file is available then it triggers the script..
I want to know is there any command or script which I will run/execute on... (16 Replies)
Hi,
I am trying to write a script to run a command on multiple linux based servers and get the o/p. I am using ssh to login. It is a celerra box and EMC NAS product.
I am able login but i am not able to run nas command nas_pool -size -all the NAS server. I am getting the following error. ... (2 Replies)
I need to run a script on a bunch of remote servers. how can this be done without ssh into each individual server and run it
its under /sbin/script.sh on each server (1 Reply)
Discussion started by: tdubb123
1 Replies
LEARN ABOUT DEBIAN
net::ssh
SSH(3pm) User Contributed Perl Documentation SSH(3pm)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);
ssh_cmd( {
user => 'user',
host => 'host.name',
command => 'command',
args => [ '-arg1', '-arg2' ],
stdin_string => "string
",
} );
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 Net::SSH::Perl instead.
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.
ssh_cmd [USER@]HOST, COMMAND [, ARGS ... ]
ssh_cmd OPTIONS_HASHREF
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.
If using the hashref-style of passing arguments, possible keys are:
user (optional)
host (requried)
command (required)
args (optional, arrayref)
stdin_string (optional) - written to the command's STDIN
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 "$_
";
}
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 (at least not with this module). Use RSA or DSA keys. See the
quick help in the next section and the ssh-keygen(1) manpage.
A #2: See Net::SSH::Expect instead.
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.
GENERATING AND USING SSH KEYS
1 Generate keys
Type:
ssh-keygen -t rsa
And do not enter a passphrase unless you wanted to be prompted for one during file copying.
Here is what you will see:
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/User/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/User/.ssh/id_rsa.
Your public key has been saved in /home/User/.ssh/id_rsa.pub.
The key fingerprint is:
5a:cd:2b:0a:cd:d9:15:85:26:79:40:0c:55:2a:f4:23 User@JEFF-CPU
2 Copy public to machines you want to upload to
"id_rsa.pub" is your public key. Copy it to "~/.ssh" on target machine.
Put a copy of the public key file on each machine you want to log into. Name the copy "authorized_keys" (some implementations name
this file "authorized_keys2")
Then type:
chmod 600 authorized_keys
Then make sure your home dir on the remote machine is not group or world writeable.
AUTHORS
Ivan Kohler <ivan-netssh_pod@420.am>
Assistance wanted - this module could really use a maintainer with enough time to at least review and apply more patches. Or the module
should just be deprecated in favor of Net::SSH::Expect or made into an ::Any style compatibility wrapper that uses whatver implementation
is avaialble (Net::SSH2, Net::SSH::Perl or shelling out like the module does now). Please email Ivan if you are interested in helping.
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.
Anthony Awtrey <tony@awtrey.com> contributed a fix for those still using OpenSSH v1.
Thanks to terrence brannon <tbone@directsynergy.com> for the documentation in the GENERATING AND USING SSH KEYS section.
COPYRIGHT
Copyright (c) 2004 Ivan Kohler. Copyright (c) 2007-2008 Freeside Internet Services, Inc. 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, well now the native SSH "master mode" stuff)
SEE ALSO
For a perl implementation that does not require the system ssh command, see Net::SSH::Perl instead.
For a wrapper version that allows you to use passwords, see Net::SSH::Expect instead.
For another non-forking version that uses the libssh2 library, see Net::SSH2.
For a way to execute remote Perl code over an ssh connection see IPC::PerlSSH.
ssh-keygen(1), ssh(1), IO::File, IPC::Open2, IPC::Open3
perl v5.10.0 2008-05-14 SSH(3pm)