Da una macchina Linux entrare in un altra eseguire comandi e tornare

Ho scritto questo mini-howto in quanto questa operazione è mal documentata in rete.

Il problema di fondo è banale, nello script è richiesto un minore minore che se postato direttamente non viene mostrato in html, per cui gran parte degli script pubblicati in rete non funzionano.

First problem is disable request for password ssh.
From client machine you have to execute

ssh-keygen -q -t rsa -N '' -f ~/.ssh/id_rsa
ssh-copy-id -i /root/.ssh/id_rsa userpc2@pc2>

Now you can probe enter via ssh without password
ssh
userpc2@pc2>

This script for example go to postgresql, execute a dump (backup) of database opengroupware and copy it on pc1

#!/bin/bash
echo ------------------------------------------------------------------
date
echo Example of dump and copy
cd /media/sda3/pc1/dumpDatabases
rm bkOpengroupware
ssh
userpc2@pc2 <;< EOF
su backup
cd
rm bkOpengroupware
echo Execute dump of Opengroupware
pg_dump -h localhost -Fc -x -f bkOpengroupware ogo
EOF
echo Copy working ...
scp userpc2@pc2:/var/lib/postgres/bkOpengroupware .
ls bk* -al
date
echo ------------------------------------------------------------------

Stampa