Using ssh command inside a script | Unix Linux Forums | Shell Programming and Scripting

  Go Back    

Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here.

Using ssh command inside a script

Shell Programming and Scripting

Closed Thread    
Thread Tools Search this Thread Display Modes
Old 02-10-2011
mick_000 mick_000 is offline
Registered User
Join Date: Jul 2010
Last Activity: 10 September 2012, 2:11 AM EDT
Posts: 15
Thanks: 1
Thanked 1 Time in 1 Post
Question Using ssh command inside a script


I have a script file in server A. Inside the script file, I first have a ssh command that will connect to a remote server B. In the same script file itself, I have a sequence of commands that has to be run in server B. I am embedding these commands in the script file that I have in server A. When i run the script file in server A, it first gets connected to server B but nothing happens for sometime after which i get Connection timeout and some error in the command.

Is there a restriction in the kind of commands that can be executed in server B from server A with the scenario as mentioned above?

Instead of a script file, when i execute the commands one by one in console in server B it is getting executed. ie) first i connect to server B from server A using ssh and then run the commands one by one in server B. I want these commands to be placed in a script file and executed from server A.

Kindly provide a solution.

Thanks in advance.
Sponsored Links
Old 02-10-2011
DGPickett DGPickett is offline Forum Advisor  
Registered User
Join Date: Oct 2010
Last Activity: 28 January 2015, 5:24 PM EST
Location: Southern NJ, USA (Nord)
Posts: 4,624
Thanks: 8
Thanked 573 Times in 547 Posts
When a script calls ssh, it should not try to be interactive (unless it is an expect script)! You have to set up the environment for a non-interactive ssh session, like this process for ksh:

echo ". ./.profile
<your_script_of_remote_commands>" | ssh2 user_id@host_or_ip ksh >>log_file 2>&1

The .profile needs to be stable when there is no terminal, similar to how it should be stable for sh and ksh:

if [ "$( tty 2>&1 )" != "not a tty" ]

Sponsored Links
Old 02-10-2011
Chanakya.m's Avatar
Chanakya.m Chanakya.m is offline
Registered User
Join Date: Jan 2006
Last Activity: 3 December 2012, 5:01 PM EST
Location: Bangalore, India
Posts: 57
Thanks: 1
Thanked 1 Time in 1 Post
Hi mick,
I am not sure about the restrictions on commands but I have below script that suits your requirement I believe.

/usr/bin/ftp -v -n "$SERVER" << cmd
    user "$USER" "$PASSWD"
    lcd $SOURCE

    Command 1
    Command 2
    Command n

This may help you, i am not sure.

Last edited by Franklin52; 02-10-2011 at 04:40 PM.. Reason: Please use code tags. thank you
Sponsored Links
Closed Thread

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
How to monitor a command inside shell script sussus2326 Shell Programming and Scripting 3 01-27-2011 06:41 AM
Need help! command working ok when executed in command line, but fails when run inside a script! 4dirk1 Shell Programming and Scripting 4 12-02-2010 06:47 AM
Capture Last Command Executed inside Script deepaksinbox Shell Programming and Scripting 6 09-30-2009 11:04 AM
Exit out of the Script Command inside a Script jmungai UNIX for Dummies Questions & Answers 6 02-20-2009 05:26 PM
Run the command inside perl script vinay123 Shell Programming and Scripting 1 06-13-2008 11:01 AM

All times are GMT -4. The time now is 02:30 PM.