O primeiro passo é gerar um par de chaves público-privado na máquina da qual você copiou:
ssh-keygen
Você pode usar os padrões e não fornecer uma senha para uso. Isso pode demorar um pouco.
O segundo passo, após a conclusão da geração da chave, é copiar a chave pública para o servidor usando:
ssh-copy-id username@server
com os username
e server
apropriados. Para isso você precisa da senha de username
. Se username
não tiver uma senha, você poderá copiar o arquivo com a chave pública por meio da conta raiz, mas é muito mais fácil criar temporariamente uma senha para a conta e usar ssh-copy-id
Terceiro passo: testar se a chave pública instalada está funcionando usando: ssh username@server
ou scp somefile username@server:/var/tmp
Quarta etapa: adicione uma tarefa cron ( crontab -e
) na máquina cliente:
15 23 * * * scp username@server:/path/on/server/downloadfile /local/destination
17 23 * * * scp /local/source/somefile username@server:/path/on/server/uploaddirectory
Que copiará o arquivo /path/on/server/downloadfile
todos os dias às 23:15 do servidor e dois minutos depois começará a carregar /local/source/somefile
Coisas a considerar:
- Dependendo da segurança do acesso à máquina cliente (de onde você está copiando) e onde a chave privada desprotegida está localizada, você deve considerar a alteração da conta
username
para permitir apenasscp
e nãossh
. - Se você copiar o mesmo arquivo e o conteúdo principalmente alterado (por exemplo, anexado a, não uma reescrita completa), usando
rsync
usando o par de chaves ssh acima) será mais eficiente.