Sponsored Content
Top Forums Shell Programming and Scripting Using Perl to explore recursively remote windows path from AIX Post 302934995 by Fundix on Thursday 12th of February 2015 08:27:58 AM
Old 02-12-2015
Hello RavinderSingh13,

Quote:
Originally Posted by RavinderSingh13
Just want to let you know if we have a Shared storage at Windows level, we can make that storage available too in UNIX in form of NFS etc.
Please do check with your storage team if this is possible, it may help you and can save your time and effort to manually/automatically copying the data from one system to another.
Windows admins create a d:\temp share on my comp server.
I used the following code :

Code:
#!/usr/bin/perl -w

use strict;
use Net::SFTP::Foreign;

my $host="comp";
my $user="john";
my $dir="d:/temp/*"

# Command KO, do not work
print "Test SFTP\n";
my $sftp = Net::SFTP::Foreign->new("$user\@$host");
my @files = $sftp->glob("$dir", names_only => 1);

foreach my $l (@files) {
  print "$l\n";
}

# commande OK, works
print "Test LS\n";
my @files2=`ssh $user\@$host 'ls -R $dir'`;

foreach my $l (@files2) {
  print "$l";
}

The LS test works fine and i got the following output :
Code:
Test SFTP
Test LS
d:/temp/3407_2.prt
d:/temp/4656_1.prt
d:/temp/4656_2.prt
d:/temp/4718_1.prt
d:/temp/4718_2.prt
d:/temp/SuHOST.bat
d:/temp/agtepo45.log
d:/temp/debug.txt
d:/temp/droits.bat
d:/temp/icone.bat
d:/temp/iconebis.bat
d:/temp/iconeged.bat
d:/temp/lo_config_printer.txt
d:/temp/lo_default_printer.txt
d:/temp/ora.bat
d:/temp/sqlnet.ora
d:/temp/supappli.bat
d:/temp/tnsnames.ora

d:/temp/dir1:
3407_2.bat
4656_1.prt
4656_2.prt
4718_1.prt
4718_2.prt
dir2

d:/temp/dir1/dir2:
jboss.log

I found there that I must use Net::SSH2, but that module can't be installed on my Aix.

If the LS solution works i will create extra code to filter my list but i regret i can't use Net::SFTP::Foreign module on Windows.

Maybe there another solution/module which will works fine to retrieve remote Windows/UNIX file lists.

Thank You
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

FTP command to search recursively in windows folder

Hi what command to be used to FTP files from the windows directory into a folder in unix environment using shell script The script should be able to recursively search into 100 subdirectories within my windows directory for .xml files. Can anyone help me with this... thnx (6 Replies)
Discussion started by: lakshmis10
6 Replies

2. UNIX for Dummies Questions & Answers

Need help configuring Active Perl on Windows Vista.: Perl Scripting on Windows

Hi All, Need help configuring Active Perl on Windows Vista. I am trying to install Active Perl on Windows Vista. The version of Active Perl i am trying to install is : ActivePerl 5.10.1 Build 1006 After installing it through cmd, When i try to run perl -v to check the version, i get the... (2 Replies)
Discussion started by: Vabiosis
2 Replies

3. Shell Programming and Scripting

Execution difference in perl scripts for windows / AIX

Hi, I have perl script abc.pl which runs perfectly fine on windows ( execution from cmd). Now i tried to execute the same perl module on the AIX server after defining the captureoutput.pm and other relevant changes. But its behaving very weirdly as a portion of the URL which is formed by... (3 Replies)
Discussion started by: slayer0611
3 Replies

4. Shell Programming and Scripting

shellscript on AIX to download file from windows to AIX

i require the shell script that is running on the AIX to download a file from Windows desktop to the location where the shell script resides onthe AIX system. I have used the below code: but it throwing the error as below.please help me at the earliest to resolve the issue. error message :... (1 Reply)
Discussion started by: kvkc
1 Replies

5. Shell Programming and Scripting

Library on Remote machine or $PATH is not working..

I don't know how to put this. However here is the problem. While executing command remotely on a Unix machine i get an error /usr/lib/hpux32/dld.so: Unable to find library 'libxerces-c.sl.21'. However when i execute the command on the remote machine locally. it works fine. Also i have... (2 Replies)
Discussion started by: suraj.sheikh
2 Replies

6. UNIX for Dummies Questions & Answers

echo windows path

I have developed a script that transfers files from a UNIX machine to a Windows machine. Transferring the files is working perfectly, but my echo statements are displaying the destination (Windows) path names incorrectly. I understand that it is the "\" that is causing this, but is there anyway... (5 Replies)
Discussion started by: shammah77
5 Replies

7. AIX

How to set up remote X Windows on AIX ?

Hi, I want to display a program on my local workstation, that is running on a remote AIX, and I have done the following: install an X server (Xming) on my windows machine enable X11 forwarding in Putty enable X11 forwarding for the SSH daemon restart SSH daemon text X... (9 Replies)
Discussion started by: SteAlma
9 Replies

8. UNIX for Advanced & Expert Users

DOS/VB script of Remote Windows Server from AIX

Hi We use to run DOS and VB script in Windows Server . Now the requirement is to trigger the same script from AIX server by shell script , thus it would be executed in Remote Windows Server . Is it possible ( though SSH or any other way ) ? Thanks (2 Replies)
Discussion started by: Sourajit Seth
2 Replies

9. Shell Programming and Scripting

[Perl] Module for recursive listing of remote Windows shares

Hi, I'm looking for a Perl module which can recursively list remote Windows shares from within a Linux machine. I've tried Filesys::SmbClient ans Filesys:SmbClientPars but they just list the current directory Thank You for your help (4 Replies)
Discussion started by: Fundix
4 Replies

10. AIX

Samba 3.6 on AIX 7.1 - Windows 10 Access to AIX file shares using Active Directory authentication

I am running AIX 7.1 and currently we have samba 3.6.25 installed on the server. As it stands some AIX folders are shared that can be accessed by certain Windows users. The problem is that since Windows 10 the guest feature no longer works so users have to manually type in their Windows login/pwd... (14 Replies)
Discussion started by: linuxsnake
14 Replies
SSH-COPY-ID(1)						    BSD General Commands Manual 					    SSH-COPY-ID(1)

NAME
ssh-copy-id -- use locally available keys to authorise logins on a remote machine SYNOPSIS
ssh-copy-id [-f] [-n] [-i [identity_file]] [-p port] [-o ssh_option] [user@]hostname ssh-copy-id -h | -? DESCRIPTION
ssh-copy-id is a script that uses ssh(1) to log into a remote machine (presumably using a login password, so password authentication should be enabled, unless you've done some clever use of multiple identities). It assembles a list of one or more fingerprints (as described below) and tries to log in with each key, to see if any of them are already installed (of course, if you are not using ssh-agent(1) this may result in you being repeatedly prompted for pass-phrases). It then assembles a list of those that failed to log in, and using ssh, enables logins with those keys on the remote server. By default it adds the keys by appending them to the remote user's ~/.ssh/authorized_keys (creating the file, and directory, if necessary). It is also capable of detecting if the remote system is a NetScreen, and using its 'set ssh pka-dsa key ...' command instead. The options are as follows: -i identity_file Use only the key(s) contained in identity_file (rather than looking for identities via ssh-add(1) or in the default_ID_file). If the filename does not end in .pub this is added. If the filename is omitted, the default_ID_file is used. Note that this can be used to ensure that the keys copied have the comment one prefers and/or extra options applied, by ensuring that the key file has these set as preferred before the copy is attempted. -f Forced mode: doesn't check if the keys are present on the remote server. This means that it does not need the private key. Of course, this can result in more than one copy of the key being installed on the remote system. -n do a dry-run. Instead of installing keys on the remote system simply prints the key(s) that would have been installed. -h, -? Print Usage summary -p port, -o ssh_option These two options are simply passed through untouched, along with their argument, to allow one to set the port or other ssh(1) options, respectively. Rather than specifying these as command line options, it is often better to use (per-host) settings in ssh(1)'s configuration file: ssh_config(5). Default behaviour without -i, is to check if 'ssh-add -L' provides any output, and if so those keys are used. Note that this results in the comment on the key being the filename that was given to ssh-add(1) when the key was loaded into your ssh-agent(1) rather than the comment contained in that file, which is a bit of a shame. Otherwise, if ssh-add(1) provides no keys contents of the default_ID_file will be used. The default_ID_file is the most recent file that matches: ~/.ssh/id*.pub, (excluding those that match ~/.ssh/*-cert.pub) so if you create a key that is not the one you want ssh-copy-id to use, just use touch(1) on your preferred key's .pub file to reinstate it as the most recent. EXAMPLES
If you have already installed keys from one system on a lot of remote hosts, and you then create a new key, on a new client machine, say, it can be difficult to keep track of which systems on which you've installed the new key. One way of dealing with this is to load both the new key and old key(s) into your ssh-agent(1). Load the new key first, without the -c option, then load one or more old keys into the agent, possibly by ssh-ing to the client machine that has that old key, using the -A option to allow agent forwarding: user@newclient$ ssh-add user@newclient$ ssh -A old.client user@oldl$ ssh-add -c ... prompt for pass-phrase ... user@old$ logoff user@newclient$ ssh someserver now, if the new key is installed on the server, you'll be allowed in unprompted, whereas if you only have the old key(s) enabled, you'll be asked for confirmation, which is your cue to log back out and run user@newclient$ ssh-copy-id -i someserver The reason you might want to specify the -i option in this case is to ensure that the comment on the installed key is the one from the .pub file, rather than just the filename that was loaded into you agent. It also ensures that only the id you intended is installed, rather than all the keys that you have in your ssh-agent(1). Of course, you can specify another id, or use the contents of the ssh-agent(1) as you pre- fer. Having mentioned ssh-add(1)'s -c option, you might consider using this whenever using agent forwarding to avoid your key being hijacked, but it is much better to instead use ssh(1)'s ProxyCommand and -W option, to bounce through remote servers while always doing direct end-to-end authentication. This way the middle hop(s) don't get access to your ssh-agent(1). A web search for 'ssh proxycommand nc' should prove enlightening (N.B. the modern approach is to use the -W option, rather than nc(1)). SEE ALSO
ssh(1), ssh-agent(1), sshd(8) BSD
June 17, 2010 BSD
All times are GMT -4. The time now is 03:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy