Qual é a maneira mais fácil de enviar um arquivo?

4

Qual é a maneira mais fácil de enviar um arquivo:

  • de uma máquina Ubuntu,
  • para outro usuário do Ubuntu (se for para outros ainda melhor) que está fora da sua rede local,
  • por meio de uma transferência de arquivos criptografada,
  • usando apenas software gratuito e de código aberto,
  • de preferência, não dependendo de terceiros, como aplicativos na nuvem, nos quais você precisa fazer o upload do arquivo,
  • de preferência, não revelando seu endereço IP e não tornando sua máquina mais vulnerável ao destinatário do arquivo.

Como configurá-lo rapidamente?

    
por Strapakowsky 15.10.2011 / 13:38

1 resposta

2

Seus requisitos # 5 (sem armazenamento de terceiros / na nuvem) e # 6 (sem IP / hostname disclosure) estão em conflito mútuo: para transferir um arquivo para em um computador remoto, você faz uma conexão direta ou não. Se você fizer isso, o terminal remoto terá seu endereço IP (apenas por causa de o modo como o TCP / IP funciona); se você não fizer, então por suposição você é retransmitindo um terceiro para fazer a transferência e eles têm que armazenar seus dados.

Dito isto, há algumas aproximações ao seu pedido.

F * EX: usando transferência de terceiros com base na Web

O servidor F * EX nasceu exatamente para este fim. A partir da % descrição do pacotefex :

F*EX (Frams's Fast File EXchange) is a service that can be used to allow users anywhere on the Internet to exchange very large files quickly and conveniently.

The sender uploads the file to the F*EX-server and the recipient automatically gets a notification e-mail with a download-URL.

Main features of F*EX:

  • file transfer of virtually unlimited file size
  • sender and recipient only need an e-mail program and a web browser (of any kind; they do not have to install any software) [...]
  • maintenance-free: no administration necessary beyond creating new F*EX accounts
  • multiple recipients only require one stored copy
  • F*EX uses HTTP and needs no firewall tunnels
  • shell clients provided for commandline users: fexsend and fexget. (fex-utils package)

Tanto quanto eu entendo, F * EX não faz criptografia nativamente, mas você pode apenas criptografar o arquivo que você deseja enviar com o GPG.

O servidor F * EX é totalmente aberto, portanto, basta instalar e executar em um servidor que você confia.

A página inicial do EX explica em detalhes como o FEX se compara com outros serviços e protocolos de transferência de arquivos.

sendfile : transferência assíncrona de arquivos entre computadores UNIX

O comando sendfile foi em torno de cerca de 10 anos: você instalá-lo ee o acompanhamento daemon no envio e no recebimento e, em seguida, o a transferência é tão fácil quanto digitar:

sendfile a.file user@otherhost

Além disso, sendfile pode criptografar automaticamente o arquivo usando o GPG (procure as opções -pe e -ps ).

Como isso faz uma conexão direta, no entanto:

  • o computador receptor deve estar ativo e funcionando em algum momento
  • ele precisa aceitar conexões na sendfile port, o que significa que ele deve ser acessado por meio de um IP público
  • ele pode registrar o endereço IP dos remetentes

sendfile foi escrito pelos mesmos autores de F * EX (veja acima), e eles explicam as razões pelas quais eles escolheram mudar para uma terceira parte baseada em HTTP serviço na página do sendfile

faça você mesmo: use nc

É relativamente fácil fazer a transferência de arquivos usando apenas netcat .

No lado de recebimento , você executa:

nc -l 9999 > myfile

Depois disso, no lado enviando , você executa:

nc otherhost 9999 < myfile

Como de costume, você deve criptografar o arquivo com GPG antes de enviá-lo (ou você pode fazer isso on-the-fly com um tubo, se você está confortável com o Concha). Você pode substituir o 9999 por qualquer outra porta válida número (por exemplo, para fazer várias transferências de uma só vez).

Desvantagens:

  • coordenação: você deve emitir os dois comandos nas duas extremidades na ordem correta, para que tanto o remetente quanto o destinatário estejam on-line ao mesmo tempo e devem coordenar, por exemplo, um bate-papo ou uma linha telefônica. / li>
  • ele terá que aceitar conexões na porta 9999, o que significa que ele deve ser acessado por meio de um IP público
  • o terminal de recebimento pode registrar seu endereço IP
por Riccardo Murri 15.10.2011 / 16:03