SSH/SCP Question


 
Thread Tools Search this Thread
Operating Systems Solaris SSH/SCP Question
# 1  
Old 05-07-2007
SSH/SCP Question

Thanks to this forum, I was able to get a program running that uses SSH to control programs running on other hosts. Now I'd like to enhance it.

The control program on the target hosts occassionally needs to be updated. Updating the menu program on the source host is easy as it is on one host. The control program runs on several dozen.

Since I have the SSH connection and a config file containing a list of target hosts and login Ids, I figured I could modify my menu program to automate the sending of the updated control program out to the target servers.

Tried two ways:

1. First, I tried to perform an SCP in the menu program to one of the target hosts. When I do that the SSH takes over. Since my control program is listed in the key in the authorized_keys files on the target hosts, it tries to run my control program. It fails, since it checks for a valid command and other parameters that are sent over in the SSH_ORIGINAL_COMMAND. A similiar condition occurs when I attempt to SCP from the command line.

2. Then I tried to create a new command in my menu program, UPD, that it would send to the control program on the target hosts. Once there, the target host would run new code that would do an SCP of the new code from the source host to the target host. When I did that it exited on the SCP saying "Connection refused".

For my first attempt, does setting up a command in the SSH key, disable the use of SCP from the source to target host?

For my second attempt, is the failure the result of no SSH key? I have keys set up to allow SSH access from the source to the targets. On the target, if I perform an SCP to copy code from the source to the target, do I need to set up keys again?
# 2  
Old 06-04-2008
Hammer & Screwdriver Solution to SSH/SCP Problem

Here's what I found after examining a co-worker's source code. Put the
following in the source host script:

#########################################################
# source_host_script
#
#
#########################################################
.
.
.

param="UPDATE"
file_update="${HOME}/${subdir}/${newfile}"

ssh ${userid}@${host} ${param} ${file_update}
retval=$?

if [ ${retval} -ne 1 -a ${retval} -ne 0 ]; then
echo "Source Code Update Failed: ${retval}"
echo "Press any key to continue"
fi

return ${retval}
}


Then put the following code in the script on your target host:

#########################################################
# target_host_script
#

#
#########################################################
.
.
.

#########################################################
# Get the command line arguments for the SSH call
#########################################################
OSSMENU_COMMAND=`echo ${SSH_ORIGINAL_COMMAND} | nawk '{print $1}`
PARAM=`echo ${SSH_ORIGINAL_COMMAND} | nawk 'NF > 1 {print $2}`
NEWFILE=`echo ${SSH_ORIGINAL_COMMAND} | nawk 'NF > 2 {print $3}`

is_scp=`echo ${OSSMENU_COMMAND} | grep "^scp" | wc -l`

########################################################
# If this is an scp then call the update control source
# code subroutine. This will copy over the latest
# version of the specified script.
# WARNING - do not do an echo or any other output to
# standard out - It will kill the scp command!
########################################################
if [ ${is_scp} -gt 0 ]; then
cd ${HOME}/${newdir}
scp -pt ${NEWFILE}
retval=$?

if [ ${retval} -ne 0 ]; then
echo "Source Code Update Failed: ${retval}"
echo "Press any key to continue"
else
chmod 755 ${NEWFILE}
fi

return ${retval}
fi
}

Its a little confusing and it still throws me each time I use it but it works. Its the only way I know how to get SCP to work when you have set up SSH keys that specify a specific script to run in for a given user.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Ssh find and scp

Hello All, I have a requirement to copy few files from remote server to local, and below are the sequence ssh to the remote host finding the files with the specific condition once found scp to the local server path for (( i=0; i<${tLen}; i++ )) do ssh... (1 Reply)
Discussion started by: nextStep
1 Replies

2. Solaris

ssh and scp not working

Dear All, whenever i try the command ssh , it is giving the below error. ld.so.1: ssh: fatal: relocation error: file /usr/bin/ssh: symbol SUNWcry_installed: referenced symbol not found Killed For SCP also the same error is coming. Pl reply me if you have answers. Rj (4 Replies)
Discussion started by: jegaraman
4 Replies

3. UNIX for Advanced & Expert Users

Problem with ssh and scp

Hi there, I'm working with two linux servers and if I use ssh to connect from 1 to 2 everything works fine ( ..as usual:rolleyes:), while if I try to connect via ssh or to copy files through scp (as I usually do...) from 2 to 1, after the password I get this message: Connection closed by... (6 Replies)
Discussion started by: Giordano Bruno
6 Replies

4. UNIX for Advanced & Expert Users

ssh and scp between comps over eth0

How can I establish a secure link (such that ssh and scp can be used) between two unix/linux machines over ethernet? (1 Reply)
Discussion started by: pyramation
1 Replies

5. Shell Programming and Scripting

SSH and SCP HELP

Hi all Iam using ssh and trying to change to a different user but im not able to do it. -------- Script.sh ssh user@hostname sudo rootsh whoami -------- -------- Script2.sh ssh user@hostname su - username password whoami --------- When i run the Script.sh it is connecting to... (4 Replies)
Discussion started by: coolkid
4 Replies

6. UNIX for Advanced & Expert Users

Simulating scp through ssh

How to simulate scp command using ssh? (5 Replies)
Discussion started by: vickylife
5 Replies

7. AIX

ssh and scp in aix 4.3.3

I'm using scp to copy files to another company via our 4.3.3 server. I am having transfer problems right at the transfer point in scp. Below are 2 debug outputs showing the bottleneck. The lower level debug preceeds the higher level debug output. It just seems to stop and refuses to transfer... (0 Replies)
Discussion started by: oldogbert
0 Replies

8. Shell Programming and Scripting

ssh/scp - can you specify timeout?

I am scp'ing a file from a server (servera) to my server (serverb) If servera is down - the scp never times out ... it just hangs eternally.. It is possible to specify a timeout in my script - so if scp fails/hang for more than 60 seconds I assume its failed ? I am aware there is some... (3 Replies)
Discussion started by: frustrated1
3 Replies

9. BSD

SCP and ssh

I can't get ssh ans scp to work between to host on my network. I am prompted for the password and it isn't accepting the password and I know the password is correct because I am using the root password. What do I need to do to get ssh working between the two host and scp. I can putty into the... (2 Replies)
Discussion started by: rbizzell
2 Replies

10. Shell Programming and Scripting

SSH and SCP

The following ksh script is trying to get a file's cksum then, scp it over to a remote machine - get the cksum there and then compare the two cksums to make sure they match. I am having problems setting a variable on the remote host where it can be read locally. Is this even possible - reading a... (1 Reply)
Discussion started by: berrean
1 Replies
Login or Register to Ask a Question