Se você leu o título do tutorial e pensou que eu devo ter ficado louco, pare um pouco. Se não pensou que eu enlouqueci, saiba que deveria!
Uma conexão ssh sem senha pode ser mortalmente perigosa a um servidor, mas se você está usando essa máquina apenas para espelhar outra, por exemplo, pode ser uma excelente ideia.
Há muitos jeitos de fazer espelhamento de servidores, se o que você quer é simplesmente replicar arquivos poderá usar o comando rsync (remote sync) que utiliza conexão ssh para transferência.
O grande problema do rsync é que esse comando solicitará a senha do ssh remoto toda vez que for executado, e agora chegamos ao ponto central do tutorial, como rodar um comando que usa conexão ssh sem ter que digitar a senha permitindo assim automatizar a tarefa.
Questões de segurança ficam então para os comentários, ok!?
Faça o seguinte:
Logue-se normalmente no computador local, onde será rodado o comando ssh, rsync ou qualquer outro que use conexão ssh para comunicação e eleve-se ao super usuário (root) usando o comando su ou sudo, qual lhe convier.
Agora vamos usar os seguintes comandos para exportar a chave criptográfica da senha ssh para o computador remoto:
{code}
ssh-keygen -t dsa -f ~/.ssh/id_dsa
{/code}
Quando solicitado para inserir uma senha dê apenas ENTER, deixando sem senha:
{code}
cat /root/.ssh/id_dsa.pub | ssh root@ip_do_computador_remoto 'cat - >> /root/.ssh/authorized_keys'
{/code}
{code}
cat /root/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
{/code}
OK, Agora tente fazer uma conexão ssh ou rodar o rsync com o ip_do_computador_remoto.
BONS TRABALHOS!