发送文件最简单的方法是什么?
发送文件的最简单方法是什么:
- 从Ubuntu机器,
- 对于另一个超出本地网络的Ubuntu用户(如果对其他人更好)
- 通过加密文件传输,
- 仅使用免费和开源软件,
- 最好不要依赖第三方,比如你必须上传文件的云应用,
- 最好不要泄露你的IP地址,不要让你的机器更容易受到文件接收者的攻击。
如何快速设置?
您的要求#5(没有第三方/云存储)和#6(没有IP /主机名泄露)存在相互冲突:要将文件传输到远程计算机,您可以直接连接,也可以不进行直接连接。 如果这样做,远程端将拥有您的IP地址(仅仅因为TCP / IP的工作方式); 如果你不这样做,那么假设你正在转发第三方进行转移,他们必须存储你的数据。
也就是说,您的请求有一些近似值。
F * EX:使用基于网络的第三方转移
F * EX服务器就是为此目的而诞生的。 从fex
包描述 :
F * EX(Frams的快速文件交换)是一种服务,可用于允许Internet上任何地方的用户快速方便地交换非常大的文件。
发件人将文件上传到F * EX服务器,收件人会自动收到带有下载URL的通知电子邮件。
F * EX的主要特点:
- 文件传输几乎无限制的文件大小
- 发件人和收件人只需要一个电子邮件程序和一个网络浏览器(任何类型;他们不必安装任何软件)[…]
- 免维护:除创建新的F * EX帐户外无需管理
- 多个收件人只需要一个存储副本
- F * EX使用HTTP,不需要防火墙隧道
- 为命令行用户提供的shell客户端:
fexsend
和fexget
。 ( fex-utils包)
据我所知,F * EX本身不进行加密,但您只需加密要用GPG发送的文件即可。
F * EX服务器完全是开源的,因此您只需在您信任的服务器上安装并运行它。
F EX主页详细说明了F EX与其他文件传输服务和协议的比较。
sendfile
:跨UNIX计算机的异步文件传输
sendfile命令已经存在了大约10年:你在发送端和接收端安装它和附带的守护进程,然后传输就像输入一样简单:
sendfile a.file user@otherhost
此外, sendfile
可以使用GPG自动加密文件(查找-pe
和-ps
选项)。
但是,由于这会直接连接:
- 接收计算机必须在某个时刻启动并运行,
- 它必须能够接受
sendfile
端口上的连接,这意味着它应该可以通过公共IP访问 - 它可以记录发件人的IP地址
sendfile是由F * EX的同一作者编写的(见上文),他们解释了为什么他们选择在sendfile主页上切换到基于HTTP的第三方服务的原因
自己动手:使用nc
仅使用netcat进行文件传输相对容易。
在接收方,您运行:
nc -l 9999 > myfile
之后,在发送方,您运行:
nc otherhost 9999 < myfile
像往常一样,您应该在发送之前使用GPG加密文件(或者您可以使用管道即时执行此操作,如果您对shell很容易)。 您可以将9999
替换为任何其他有效端口号(例如,一次进行多次传输)。
缺点:
- 协调:您必须以正确的顺序在两端发出两个命令,因此发送方和接收方必须同时在线,并且它们必须协调,例如聊天或电话线。
- 它必须能够接受9999端口上的连接,这意味着它应该可以通过公共IP访问
- 接收端可以记录您的IP地址