如何在两台不同的Ubuntu计算机之间共享文件/文件夹并在不同的网络上?

我想在笔记本电脑和本地桌面之间共享文件夹。 两者分别连接到WiFi和以太网。 如何在这两者之间共享文件夹?

谢谢!

如果计算机连接到不同的网络,可以使用Hamachi实现。 它使计算机能够看到彼此,就好像它们位于同一网络中一样。 它可以与非常好的前端称为Haguichi一起使用 。

在此处输入图像描述

如果您的计算机连接到同一本地网络,请从此处开始。

现在你需要以某种方式共享文件。 幸运的是,Ubuntu让它变得非常简单。 只需右键单击任何目录,然后选择“ Local Network Share 。 像这样的窗口应该弹出:

在此处输入图像描述

然后配置您的共享并单击“ Create Share

在另一台PC上

打开Nautilus,单击左侧菜单中的“ Connect to Server ”。 应弹出另一个对话框:

在此处输入图像描述

键入smb://[ip address of the other computer here] ,然后单击“ Connect

如果您使用Hamachi,您将需要提供Hamachi所见的主机IP。 使用hamachi list命令或右键单击Haguichi中的其他计算机,然后选择Copy IPv4 Address

就是这样!

如果您能够在这两台计算机之间建立SSH连接 ,则可以使用sshfs挂载远程文件夹(如果您具有正确的权限,甚至可以使用整个文件系统)。

 sudo apt update && sudo apt install -y sshfs 

例如,如果使用密钥身份validation ,则安装命令如下所示:

 sshfs username@hostname_or_ip:/path/to/remote-folder/ /path/to/local-folder/ -p 2222 -o IdentityFile=/path/to/ssh-key/id_rsa 
  • -p 2222如果使用默认的ssh端口22 ,则可以省略此选项;
  • -o IdentityFile=/path/to/ssh-key/id_rsa如果你的密钥放在默认位置( ~/.ssh ),或者你使用~/.ssh/config文件,你可以省略这个选项;
  • username@hostname_or_ip如果使用~/.ssh/config文件,可以用等效的短名称替换此条目;
  • 使用sudo umount /path/to/local-folder/来卸载;
  • 有关更多详细信息,请检查: sshfs -h或其手册页 。

所以,如果~/.ssh/config文件看起来像:

 Host rh1 HostName 79.11.134.121 IdentityFile ~/.ssh/remote-host-1/id_rsa User spas Port 22 Host rh2 HostName 193.164.5.50 IdentityFile ~/.ssh/remote-host-2/id_rsa User spas Port 2222 

mount命令看起来更简单:

 $ sshfs rh1:/path/to/remote-folder/ /path/to/local-folder/ 

一旦sshfs挂载工作,您可以:

  • 通过脚本文件 , 别名或function创建自定义以便快速安装;
  • 为永久安装创建fstab条目 (也在这里和这里 );
  • 或创建纯~/.bashrc条目,这对于特定情况就足够了。

我首选的方法是使用与本地客户端在线同步 ,这具有将数据存储在云中的额外好处。 例如,如果您在家中使用PC,在工作/学习中使用PC,或者在两台计算机都出现故障的极端情况下,这将非常有用。

我有两种云的经验,非常好: Dropbox和Mega 。 还有更多 。

共享文件夹

  • 在两台计算机上安装客户端(请参阅上面的链接)。 两者都创建一个菜单项。 (Dropbox似乎有一个与其图标相关的错误。请参阅此答案进行修复)。

  • 在具有原始文件夹的计算机中打开客户端,然后创建同步。 例如,在Megasync中,右键单击面板图标并选择设置。 然后,转到“同步”选项卡,然后选择“添加”。 选择要共享的本地文件夹,然后在云中创建一个文件夹。 你应该得到这样的东西:

在此处输入图像描述

按OK后,文件将开始上传到Mega。 该过程与Dropbox或多或少相似。 post底部的更多细节。

  • 上传完成后,在另一台计算机中打开客户端,然后创建同步。 现在,选择云中的文件夹,将新的空文件夹作为本地目标。 客户端将了解并开始将云中的数据下载到新文件夹。

而已。 您的两个文件夹在云中同步并且安全。


正如我所说,有许多同步客户端。 我更喜欢Mega,因为:

  • 它免费提供50GB(Dropbox仅提供2GB)
  • 它比Dropbox便宜(如果你去Pro)
  • 你可以在任何地方同步(例如~/Music ); Dropbox仅同步“Dropbox”文件夹(例如~/Dropbox/Music )中的内容,这很烦人。
  • 你可以同步多个文件夹( ~/Music~/Pics/My_puppy~/.q3a ); Dropbox仅允许同一“Dropbox”文件夹中的内容。

我看到的唯一问题是Mega可能随时破产(因为版权问题)。 它曾经发生在Megaupload之前。 Dropbox可能会让我更安全。