Sponsored Content
Full Discussion: Methods to SSH (Perl)...
Top Forums Shell Programming and Scripting Methods to SSH (Perl)... Post 302503744 by Corona688 on Friday 11th of March 2011 12:43:39 PM
Old 03-11-2011
Quote:
Originally Posted by mrwatkin
Can anyone break down the different methods of using SSH in perl? I'm currently using Net::SSH::Expect, which allows me to login to a machine and execute multiple commands without having to ssh again. This feature of holding the session works well for me, but it's slow.
There's much, much better ways to do this, "expect" is just a third-party hack which tackles a few special cases that positively can't be handled any other way.

In a shell I would do
Code:
ssh user@host command1 ';' command2

or
Code:
ssh user@host exec /bin/sh -s arg1 arg2 arg3 < local-shellscript.sh

In Perl you can just dump those raw into system(), which of course will wait, but you can
Code:
use POSIX ":sys_wait_h";

...

$pid=fork();
if($pid == 0)
{
        exec("ssh user@host command1 ';' command2");
        die "exec failed";
}

# parent will continue here without waiting for the child.
# you can check periodically with
if(waitpid($pid, WNOHANG) > 0)
{
        print "Child finished with status $?\n";
}


Last edited by Corona688; 03-11-2011 at 01:49 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Send "perl -e '...' " command through SSH, from a perl script

Hey guys I am trying to send a perl -e command to a number of systems using SSH. The command should retrieve some information for me. The problem is, the remote shell tries to interpolate my variables and doesn't get it should take the command literally and just execute it. Below the code.... (2 Replies)
Discussion started by: clrg
2 Replies

2. Shell Programming and Scripting

Methods For Debugging Perl Problems

Note: Not a programmer by profession but occasionally have to program. I am looking for general methods and freely/readily available tools employed to debug problems during development of perl scripts. Anything that has really helped you out with problems you just couldn't find. A couple of... (5 Replies)
Discussion started by: Vi-Curious
5 Replies

3. UNIX for Advanced & Expert Users

yum provides methods

What is the difference between these yum provides and whatprovides methods? I know provides and whatprovides give the same results, but different methods of */ and \* give different results. Also whether you put */ and \* in front of the string or behind the string give different results. I have... (0 Replies)
Discussion started by: cokedude
0 Replies

4. Solaris

Unix learning methods

I have recently completed Solaris 10 System Administration book by Bill Calkins. Now I want to learn more about UNIX. I have tried to research online but there is too much information and I am sort of overwhelmed and don't know where to start. Can anybody give some idea on how to pursue my learning... (3 Replies)
Discussion started by: saudsos
3 Replies

5. Shell Programming and Scripting

Perl SSH without a perl module

I'm trying to create a perl script that will do 1 SSH session, but be able to write multiple commands to the session and receive multiple outputs. I know there are modules out there like Net:SSH::Perl, but I'm not allowed to use it. I was thinking of doing something like an open3 on an ssh... (4 Replies)
Discussion started by: mrwatkin
4 Replies

6. Shell Programming and Scripting

ssh in perl

Hi Can anyone tell me what does the below command do in Perl Thanks in advance (2 Replies)
Discussion started by: irudayaraj
2 Replies

7. Shell Programming and Scripting

Perl Methods Calling

Hello I am on my way to improve my wonderful Perl skills, I got an issue which I want to share with you all. I have a Perl module which looks like package Cocoa; require Exporter; @ISA = qw(Exporter); my $a=''; my $b=''; my $c=''; sub new { my $this = shift; # Create... (8 Replies)
Discussion started by: adisky123
8 Replies

8. Cybersecurity

Linux Encryption methods

Hi all, I am looking to encrypt a filesystem with a CentOS 6.4 install. However I note that when using LUKS the system does not boot without prompting for the password encryption key. I am looking for an drive/filesystem encryption solution which will allow reboots and shutdown/starts of the... (4 Replies)
Discussion started by: landossa
4 Replies

9. Linux

Help with PAM Logging methods.

Hi Folks, Would like to understand if there exists any method to write the logs for LDAP authenticated users and Local Users separately in two different files. If not, then do I distinguish whether the user is LDAP or local without looking at passwd. Bye the way, I am trying this weird... (0 Replies)
Discussion started by: awk-admirer
0 Replies

10. Shell Programming and Scripting

Why do these 2 methods result in different outcomes?

I've been troubleshooting a ksh93 script I wrote today and have narrowed it down to the root cause. but I don't understand why? so, i've written the following script to demonstrate the problem i found today: #!/bin/ksh method=$1 FILE_LIST=( $(find /someplace -type f -printf... (10 Replies)
Discussion started by: BLinux
10 Replies
SSH-KEYSIGN(8)						    BSD System Manager's Manual 					    SSH-KEYSIGN(8)

NAME
ssh-keysign -- ssh helper program for host-based authentication SYNOPSIS
ssh-keysign DESCRIPTION
ssh-keysign is used by ssh(1) to access the local host keys and generate the digital signature required during host-based authentication with SSH protocol version 2. ssh-keysign is disabled by default and can only be enabled in the global client configuration file /etc/ssh/ssh_config by setting EnableSSHKeysign to ``yes''. ssh-keysign is not intended to be invoked by the user, but from ssh(1). See ssh(1) and sshd(8) for more information about host-based authen- tication. FILES
/etc/ssh/ssh_config Controls whether ssh-keysign is enabled. /etc/ssh/ssh_host_dsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_rsa_key These files contain the private parts of the host keys used to generate the digital signature. They should be owned by root, read- able only by root, and not accessible to others. Since they are readable only by root, ssh-keysign must be set-uid root if host- based authentication is used. Note that ssh-keysign is not set-uid by default on Mac OS X. /etc/ssh/ssh_host_dsa_key-cert.pub /etc/ssh/ssh_host_ecdsa_key-cert.pub /etc/ssh/ssh_host_rsa_key-cert.pub If these files exist they are assumed to contain public certificate information corresponding with the private keys above. SEE ALSO
ssh(1), ssh-keygen(1), ssh_config(5), sshd(8) HISTORY
ssh-keysign first appeared in OpenBSD 3.2. AUTHORS
Markus Friedl <markus@openbsd.org> BSD
August 31, 2010 BSD
All times are GMT -4. The time now is 07:41 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy