Re: SSH Connection
From: Bill Tangren (bjt_at_aa.usno.navy.mil)
Date: Thu, 02 Jun 2005 13:08:14 -0400 To: General Red Hat Linux discussion list <firstname.lastname@example.org>
> I would like to run a script on box A that connects to box B, executes a
> script there, then returns to complete the original script. The user
> accounts are different on each box. Box A user is 'oracle', box B user is
> I tried:
> ssh servername -l ias /u01/ias/scripts/test_script.sh
> but I'm prompted for a password.
> I tried putting the password into the script where it seems to want it, but
> again, I'm prompted for a password and it processes the password in the
> script as a command.
> Do I need to do something in the ssh_config? known_hosts? authorized_keys?
> I'm not thrilled with the thought of having the password in a script file.
> So if there's a better way, I'm all for hearing it!
> Thanks in advance...
> Kelley Coleman
> Database Administrator
> VA Health Administration Center
> Denver, Colorado
I have several servers that I use as hot backups of our production
servers. This is what I do to automate the backups in as secure way as
possible. You should be able to modify this to suit your needs.
Server A is the production server. Server B is the data backup. As root
on server B, generate a key, and give it a unique name, and don't enter
a passphrase (just hit enter):
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa_A_backup.
Your public key has been saved in /root/.ssh/id_rsa_A_backup.pub.
The key fingerprint is:
Go to /root/.ssh, and ftp to A.com. Then cd to /root/.ssh/ (on A.com)
and put the id_rsa_A_backup.pub file into that directory. Exit ftp.
Telnet into A.com, and cd to /root/.ssh/. If there is a file there
called authorized_keys2, then:
# cat id_rsa_A_backup.pub >> authorized_keys2
If authorized_keys2 doesn't exist, then:
# mv id_rsa_A_backup.pub authorized_keys2
If you are doing a backup on B.com using rsync like this:
# rsync -avrz -e 'ssh -i /root/.ssh/id_rsa_A_backup' A.com:/home/
then you need to add a line to authorized_keys2 like this:
command="rsync --server -avrz . /home/"
You MUST add this line immediately before the key you added to the end
of this file. This line ties the key to the command you are going to run
on B.com, so that if the key is stolen, the thief can only use it to run
this command. They *shouldn't* be able to get general root access to
Once you do this, you can run your command on B.com and see if it works.
If it does, you can put it in a cron script to run automatically (on
-- redhat-list mailing list unsubscribe mailto:email@example.com?subject=unsubscribe https://www.redhat.com/mailman/listinfo/redhat-list