Solved

Calling remote script in unix

Posted on 2015-01-14
5
230 Views
Last Modified: 2015-01-27
I need to get the result of a function in some remote unix machine,

i an on machine1

i need to get script.ksh result from machine two

what i use to do is ssh user@machine2
then i enter password
and then from machine2 i access the folder where the script is located and i execute it getting the result (is always a text string)

instead of having to log to the machine2 everytime i need the result, i would like to make the call directly from machine1, how can that be possible??

thanks!
0
Comment
Question by:celtician
5 Comments
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 40550589
Somehow you have to login everytime.  Linux, Unix, Windows, and OSX all require you to be logged in to access any files.
0
 
LVL 84

Assisted Solution

by:ozo
ozo earned 200 total points
ID: 40550614
From machine1, you can execute
result=`ssh user@machine2 script.ksh`

You still have to enter the password, or set up an authentication key
0
 
LVL 9

Accepted Solution

by:
Carlos Ijalba earned 300 total points
ID: 40550881
Celtician,

What you have to do is setup an "SSH trust relationship" between both machines, that way you will be able to execute scripts remotely without login.

You then create another local script to just invoke the remote script:

script_2.ksh
ssh user@machine2 script.ksh

And that way you can execute script.ksh to obtain results locally and script_2.ksh to access the other box.

To setup the ssh trust:

1.

Generate a public and private key pair on machine1

2.

Copy the public keys (id_rsa.pub) to machine2 (remote host).

3.

On machine2, copy your public key to the authorized_keys file (cat  id_rsa.pub >> .ssh/authorized_keys)

4.

Try to connect t from machine1 to machine2, ( [machine1]# ssh machine2 ) if it works without asking for password, you're set.
0
 
LVL 28

Expert Comment

by:serialband
ID: 40554285
That's the first time I've heard it called an "ssh trust relationship" before.  That's just standard ssh keys without passphrases.
0
 
LVL 9

Expert Comment

by:Carlos Ijalba
ID: 40560768
When you create a trust between 2 hosts using ssh keys, the jargon is "ssh trust relationship", "ssh trust between 2 servers", "relación de confianza", etc...

Just do a search for those terms in google...
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Regular patching is part of a system administrator's tasks. However, many patches require that the system be in single-user mode before they can be installed. A cluster patch in particular can take quite a while to apply if the machine…
FreeBSD on EC2 FreeBSD (https://www.freebsd.org) is a robust Unix-like operating system that has been around for many years. FreeBSD is available on Amazon EC2 through Amazon Machine Images (AMIs) provided by FreeBSD developer and security office…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

932 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now