scp automated script


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users scp automated script
# 1  
Old 10-08-2007
scp automated script

Hi Unix gurus,

I am trying to create a script to automate the copying of files daily from one server to another using the scp command.
-->
#!/bin/ksh

KEY="$HOME/.ssh/SSHKEY"

if [ ! -f $KEY ];then
echo "Private key not found at $KEY" >> $LOGFILE
echo "* Please create it with \"ssh-keygen -t dsa\" *" >> $LOGFILE
exit
else
echo "Transferring files.." >> $LOGFILE
echo "scp -v -i $KEY $FILES $SCP_LOGIN@$SCP_MACHINE:$SCP_PATH" >> $LOGFILE
scp -v -i $KEY $FILES $SCP_LOGIN@$SCP_MACHINE:$SCP_PATH >> $LOGFILE
echo "Copy files successful.." >> $LOGFILE
fi

My questions are below:
1. Whenever I ran this script, it no longer ask for password but it still prompts the "Are you sure you want to continue connecting (yes/no)?" question:
See details below:
-->
Putting your key on remote server
Transferring files..
The authenticity of host '10.68.169.168 (10.68.169.168)' can't be established.
RSA key fingerprint is cd:78:a1:fe:2d:8d:aa:0f:32:be:18:5b:74:0e:3a:c1.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/shared/home/ngtman/.ssh/known_hosts).

Can I also automate it in a way that it always answers yes to the above question w/o me typing anymore?

2. How can i display the error messages of the scp in the $LOGFILE for cases that scp was not successful for some files?
i.e. there are space issue with the remote server, connection time out, or permission issues. I just want to see in the log what happened to
the scp so as it would also be better for the support guys to check as in case anything happens.

I tried both redirecting using >> and using the tee command but both not writing to the logfile, only displaying the status in the prompt.

Hoping to hear from you guys.

Thanks in advance.
# 2  
Old 06-25-2008
scp

Hi Unix gurus,

I am trying to create a script to automate the copying of files daily from one server to another using the scp command.
-->
#!/bin/ksh

KEY="$HOME/.ssh/SSHKEY"

if [ ! -f $KEY ];then
echo "Private key not found at $KEY" >> $LOGFILE
echo "* Please create it with \"ssh-keygen -t dsa\" *" >> $LOGFILE
exit
else
echo "Transferring files.." >> $LOGFILE
echo "scp -v -i $KEY $FILES $SCP_LOGIN@$SCP_MACHINE:$SCP_PATH" >> $LOGFILE
scp -v -i $KEY $FILES $SCP_LOGIN@$SCP_MACHINE:$SCP_PATH >> $LOGFILE
echo "Copy files successful.." >> $LOGFILE
fi

My questions are below:
1. Whenever I ran this script, it no longer ask for password but it still prompts the "Are you sure you want to continue connecting (yes/no)?" question:
See details below:
-->
Putting your key on remote server
Transferring files..
The authenticity of host '10.68.169.168 (10.68.169.168)' can't be established.
RSA key fingerprint is cd:78:a1:fe:2d:8d:aa:0f:32:be:18:5b:74:0e:3a:c1.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/shared/home/ngtman/.ssh/known_hosts).

Can I also automate it in a way that it always answers yes to the above question w/o me typing anymore?

2. How can i display the error messages of the scp in the $LOGFILE for cases that scp was not successful for some files?
i.e. there are space issue with the remote server, connection time out, or permission issues. I just want to see in the log what happened to
the scp so as it would also be better for the support guys to check as in case anything happens.

I tried both redirecting using >> and using the tee command but both not writing to the logfile, only displaying the status in the prompt.

Hoping to hear from you guys.

Thanks in advance.


Hi gholdbhurg,

I am also facing the same situation now. Smilie

So, please let me know what solution you used to resolve this problem.

Please send me the details to nareshkumar.gandham@hcl.in

Thanks inadvance for your help.
# 3  
Old 06-25-2008
I think the big question here is why can't ssh write to ~/.ssh/known_hosts?

If it could, it would cache that fingerprint and stop asking.
# 4  
Old 06-25-2008
Procedure

I've tried this and worked great without any prompts ...

it will still give you the warning message but wont ask anything ...

if you have access to both the servers and if u know the username on both the servers try this procedure

Source -- Howto Linux / UNIX setup SSH with DSA public key authentication (password less login)

(1)
System from where you will run the script

bash-3.00$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_dsa.
Your public key has been saved in /home/user/.ssh/id_dsa.pub.
The key fingerprint is:
somenumbers user@server


(2)


Copy id_dsa.pub to the other system at the location as

~/home/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

(3)

Run this command on remote system

exec /usr/bin/ssh-agent $SHELL
Ssh-add


Then ,

you may cron the SCP script

use scp command as
"scp -o Port=22 (or wtever) source dest "
source could be /home/blah.txt
dest could be username@remote_Server:/home/asd

it worked great for me ...

Good Luck
# 5  
Old 06-26-2008
Quote:
Failed to add the host to the list of known hosts (/shared/home/ngtman/.ssh/known_hosts)
I agree with kknigga...

The thing to look at is the permissions on the .ssh directory and the known_hosts file. Try a simple test like:

(as ngtman)

echo "test" >> ~/.ssh/known_hosts

Now edit that file and see if the word "test" is at the end of the file.

If it is your permissions are fine, remove the "test" line and save the file again.

If it isn't you have a permissions issue.
# 6  
Old 10-27-2008
Quote:
Originally Posted by tekjunky

If it is your permissions are fine, remove the "test" line and save the file again.

If it isn't you have a permissions issue.
... or a disk-space or disk usage quota issue in your .ssh directory. This prevents ssh from appending onto known_hosts, and (naturally) it will fail utterly silently.

Why someone didn't build a disk-space / quota space hard error message into the kernel I have no idea. Smilie This has cost me more time than any other problem with 'nix, since diskspace problems cross into almost every functional border in unix and, well, *any* static os.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Automated scp using shell & expect

Hi All, I have written a script to automate scp of files. Most of the times it works fine except few cases. I want your help and suggestions to fix these failures. I have used expect & shell to do the automated scp. Below is code $ cat scp.ksh #!/bin/ksh inputfile=$1 fdest_sid=$2... (8 Replies)
Discussion started by: veeresh_15
8 Replies

2. Shell Programming and Scripting

Need an automated script

Hi, I need a script to execute below task. As of now I am doing it manually and want it automated. 1)go to below path cd /path/of/file check for the availibility of two file as below of the latest date. test.week1.data test.week2.data Case1. If above files are not present... (3 Replies)
Discussion started by: sv0081493
3 Replies

3. UNIX for Dummies Questions & Answers

how to make script automated

if i have a script called test.sh file1=$(ls -l|awk '{print $9 $1}') awk ' /date_of_selling:/ { print $6 ":" &9 }' /$file1 >> data.txt if i wanna this script to run automatically every day at 8 am :D (3 Replies)
Discussion started by: teefa
3 Replies

4. Shell Programming and Scripting

Automated SCP from a job?

Hi all - I have a script which runs on the OS level, but refuses to run as a cron or as an Oracle job. The Script is pretty straight forward: #!/bin/bash username="MyUsername" host="Remote.server" path="Remote.directory/files/*.*" password="MyPassword" expect -c " spawn /usr/bin/scp... (3 Replies)
Discussion started by: danimaltex
3 Replies

5. Shell Programming and Scripting

Help with Automated Shell Script

Hello, how can I write a shell script that looks in running processes and if there isn't a process name containing 91.34.124.35 then execute a file in a certain place. I know PHP, in PHP I could do a preg_match_all but I don't know how to do it in shell. (5 Replies)
Discussion started by: nottingham
5 Replies

6. UNIX for Advanced & Expert Users

Automated SCP script passing password to preserve source file timestamp

Hi My requirement is i want to copy files from remote server to the local server and also i need to preserve the timestamp of the remote file. By using scp -p , it is working fine in the interactive call but it is not preserving he file timestamp when i use it in the non interactive scp call... (1 Reply)
Discussion started by: skumar75
1 Replies

7. UNIX for Dummies Questions & Answers

Automated backup script

I want to create an automated backup script that will copy files to different directories for different days. I will use a detachable USB drive, under SCO 5.0.7. I am very new to Unix, and will require most of the script. Thanks (5 Replies)
Discussion started by: Bennieinbots
5 Replies

8. Shell Programming and Scripting

i want automated script

echo "Enter your choice :\c" read num case $num in . 1)"${TEST_HOME}"/ctrl_extract.ksh 1 ;; 2)"${TEST_HOME}"/ctrl_extract.ksh 2 ;;3)"${TEST_HOME}"/ctrl_extract.ksh 3 ;; 4)"${TEST_HOME}"/ctrl_extract.ksh 4 ;; 5)"${TEST_HOME}"/ctrl_extract.ksh 5 ;;... (3 Replies)
Discussion started by: arghya_owen
3 Replies

9. Shell Programming and Scripting

Need automated shell script please

I'm totally new to shell scripting and I would like to ask your help 1.i want to have a .sh script where it runs opening 2 applications one after another 2.i have 2 applications in /applications/app1 /applications/app2 3. want this script to launch app1 for 20 seconds and get killed... (2 Replies)
Discussion started by: uneex
2 Replies

10. UNIX for Advanced & Expert Users

help for automated script

Hi ALL: I need to write a script that will start bunch of servers. and these servers each has a sudo account and they need a passowrd. I dont know where to start and look. Can you please give me some hints or some sample code. Thanks in advance. splax (4 Replies)
Discussion started by: splax
4 Replies
Login or Register to Ask a Question