Script para transferir arquivos pela Internet através de uma tarefa Cron

1

Eu quero adicionar um bit a um script de backup que transferirá um arquivo para outro servidor pela Internet.

Meu cron atualmente faz um pg_dump de um banco de dados em um arquivo na máquina local, eu quero então empurrar esse arquivo para local remoto, ele precisa estar seguro (pensando em SSH / SCP / SFTP mas estou aberto a sugestões ).

Eu não quero montar um diretório do servidor remoto como eu estou passando pela internet, e minha percepção é que não é muito seguro.

ambas as máquinas estão executando o Ubuntu, 11.04 em um e 12.04.2 na máquina de origem.

Além disso, eu quero empurrar o arquivo para vários locais de backup, mas estou assumindo que, uma vez que eu tenha a linha de comando, posso apenas enxaguar e repetir o script.

Eu olhei para o scp e o sftp, mas ambos exigem que uma senha seja fornecida de forma interativa, parece.

    
por Martin 24.07.2013 / 23:39

2 respostas

2

Você pode implementar uma chave ssh entre os dois servidores com ssh-keygen e, em seguida, ssh-copy-id . Essas configurações permitem que scp , ssh possa funcionar sem senha, com criptografia de dados.

    
por 25.07.2013 / 01:23
0

"Seguro" é relativo ao protocolo que você está usando. Se você montar o diretório via sshfs pela internet, ele ficará bastante seguro por causa da criptografia ssh normal. Ele até o avisará se alguém tiver falsificado o servidor e sua impressão digital tiver mudado, de modo que você não seja enganado para fazer o upload acidental do seu pacote para o servidor de outra pessoa.

Outra coisa que você pode tentar é usar VPN para estabelecer uma conexão segura com a sua rede doméstica a partir do seu servidor ou vice-versa. Então você pode se sentir livre para usar coisas não seguras como o nfs (sem sec=krb5p ) e ter o diretório montado.

Você também pode tentar usar o NFS com o Kerberos 5 por esta resposta e não se preocupar em usar o material da VPN, mas de acordo a essa resposta, expor essas portas publicamente poderia, se um problema surgisse, expor vulnerabilidades.

A opção scp também é boa, mas eu honestamente descobri que ela atrasa as coisas a menos que você tenha uma conexão de internet muito boa, um servidor rápido (em termos de poder de processamento) e chaves ssh configuradas.

Minha própria solução pessoal para isso seria VPN + nfs e usar seu script existente para despejar na pasta nfs-mounted que seria, na realidade, na outra máquina. Você pode até mesmo configurar a pasta para montar automaticamente quando o servidor estiver disponível e usar chaves pré-compartilhadas para fazer autenticação para a VPN, então nenhuma intervenção é necessária.

VPN para o Ubuntu: link

Como o OpenVPN faz uma página no arch linux: link

Mais recursos de VPN

    
por 25.07.2013 / 00:37