Ssh using expect with threads?

750 Views Asked by At

Have you found solution any on how to ssh using expect with threads?

sub thDoWork {

    #variables

    my $thread_number = $_[0];
    my $PassStoreQueue = $_[1];

    my $Thread_Die = '';
    my $My_Print_Bucket = '';

    while ($Thread_Die ne 'KILL_THREAD') {

        my $temp_Store_Number_Working_On = $PassStoreQueue->dequeue();

        my $name;
        my $ip;
        my $Device_Exist;
        my $TempDeviceName;
        my $DNS_Results;

        # I need to ssh inside many threads, I can ssh from the main
        # thread just fine but not a sub thread. 

        $ssh = Expect->spawn("ssh -l $username1 $temp_ssh_device " .
                             "-o UserKnownHostsFile=/dev/null " .
                             "-o StrictHostKeyChecking=no")
            or return "Couldn't spawn ssh session";

        # this is unable to login to device.
}

I have read a thread that expect is not working correctly in threads, is that still true?

0

There are 0 best solutions below