有没有办法使用 samba 或任何其他工具在不在同一网络上的两台不同计算机之间共享/传输文件。
例如与朋友分享电影。
答案1
你们不在同一个局域网上,所以你需要通过互联网发送,因此需要使用文件传输服务,如 Dropbox、MEGA、Google Drive 或许多竞争对手。你上传文件,选择共享,然后向他们发送文件链接。
或者,您可以在您的机器上安装 Samba 和 Apache,这样 Samba 就可以将文件传送给 Apache,而您的朋友就可以从 Apache 显示的网页上选择下载该文件。通过互联网共享文件有具体说明,但第一种方法更简单。
答案2
BitTorrent Sync 是一款可以完成您所描述的任务的程序。它的工作原理有点像 DropBox,只不过没有集中式服务器,没有大小或带宽限制,也没有公司对共享的文件进行监督。
www.bittorrent.com/sync
它允许您与互联网上任何位置的另一台具有相同机密的计算机共享文件夹。即使您的 IP 地址发生变化,此功能仍会起作用,因此如果您想在更长的时间内保持文件夹同步,这是一个比使用更方便的解决方案ssh
。
我用它与家人分享图片和视频(我们住在不同的州)。
~~分步说明~~
在所有计算机上下载并安装该程序。
在当前拥有文件的计算机上,使用“生成机密”选项添加文件夹。
在其他计算机上,使用上一个文件夹生成的密钥创建一个新文件夹。在 Linux 中,它们还没有漂亮的 GUI,因此只需浏览即可localhost:8888
访问控制面板。
根据您的网络设置和防火墙,您可能需要打开端口以允许同步流量通过。
如果您有任何其他具体问题,请告诉我 - 我在 4 个不同位置的两台 Ubuntu 计算机、2 台 Windows 计算机和 1 台 Mac 上运行此软件。
我想分享一个奇怪的提示,因为我花了很长时间才弄清楚——注意不同操作系统的文件名规则。OSX 的文件名不区分大小写,因此 File.txt 和 file.txt 不能放在同一个文件夹中——在 Linux 中它们可以。因此,如果您有任何文件的名称仅在大小写上不同,btsync 就无法发送它们(不幸的是,它不会向您提供有用的错误消息,说明它为什么不起作用)
答案3
另外一个选择。
安装并默认配置ssh服务器:
sudo apt-get install openssh-server
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original
在主机上打开端口22。
sudo ufw allow 22
现在,您已经在 22 上打开了一个 ssh 端口,并且 ssh 服务器已经设置好了。
使用以下命令查找本地地址,例如 192.168.0.xx:
ifconfig
在路由器管理页面上转发/打开一个端口。例如 (192.168.0.1) 到 Ubuntu 机器上的端口 22。这将因您拥有的路由器型号而异。它看起来会像这样:
你可以向朋友提供用户名、密码和路由器 IP 地址(http://www.whatismyip.com/)。
然后,您的朋友可以下载 filezilla,并通过输入您的路由器的 IP 地址来浏览您的计算机以查找任何文件。
如果您的盒子上有私人信息,这可能是一个安全问题。或者您可以设置一个具有受限访问权限和 RSA 身份验证的单独用户。
也可以用这个scp
答案4
您可以安装OwnCloud在其中一台机器和/或客户端上或使用浏览器访问文件。