Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Calling remote script in unix

Posted on 2015-01-14
5
Medium Priority
?
242 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 84

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 85

Assisted Solution

by:ozo
ozo earned 800 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 10

Accepted Solution

by:
Carlos Ijalba earned 1200 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 31

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 10

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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

In tuning file systems on the Solaris Operating System, changing some parameters of a file system usually destroys the data on it. For instance, changing the cache segment block size in the volume of a T3 requires that you delete the existing volu…
My previous tech tip, Installing the Solaris OS From the Flash Archive On a Tape (http://www.experts-exchange.com/articles/OS/Unix/Solaris/Installing-the-Solaris-OS-From-the-Flash-Archive-on-a-Tape.html), discussed installing the Solaris Operating S…
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.
Suggested Courses
Course of the Month9 days, 13 hours left to enroll

926 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