Как обмениваться файлами / папками между двумя разными компьютерами Ubuntu и в другой сети?
Я хочу поделиться папками между моим ноутбуком и локальным рабочим столом. Оба подключены к WiFi и Ethernet соответственно. Как я могу поделиться папками между этими двумя?
Спасибо!
3 ответа
Если компьютеры подключены к разным сетям, это можно сделать с помощью Hamachi. Это позволяет компьютерам видеть друг друга, как если бы они были в одной сети. Его можно использовать с очень хорошим интерфейсом под названием Haguichi.
Если ваши компьютеры подключены к той же локальной сети, начните отсюда.
Теперь вам нужно как-то делиться файлами. К счастью, Ubuntu делает это действительно легко. Просто щелкните правой кнопкой мыши любой каталог и выберите Local Network Share
, Должно появиться следующее окно:
Затем настройте свою долю и нажмите Create Share
,
На другом ПК
Откройте Nautilus, нажмите Connect to Server
в левом меню. Должно появиться другое диалоговое окно:
Введите smb://[ip address of the other computer here]
и нажмите Connect
,
Если вы используете Hamachi, вам нужно будет предоставить IP-адрес хоста, как видит Hamachi. Либо использовать hamachi list
или щелкните правой кнопкой мыши другой компьютер в Haguichi и выберите Copy IPv4 Address
,
И это все!
Если вы способны установить соединение SSH между этими двумя компьютерами, вы можете использовать sshfs
смонтировать удаленную папку (даже всю файловую систему, если у вас есть необходимые разрешения).
sudo apt update && sudo apt install -y sshfs
Например, если вы используете аутентификацию по ключу, команда монтирования выглядит следующим образом:
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
Команда монтирования будет выглядеть проще:
$ sshfs rh1:/path/to/remote-folder/ /path/to/local-folder/
однажды sshfs
Монтажные работы вы можете:
- создать пользовательский файл сценария, псевдоним или функцию для быстрого монтажа;
- создать запись fstab для постоянного монтажа (также здесь и здесь);
- или создать чистый
~/.bashrc
запись, которой может быть достаточно для конкретных случаев.
Я предпочитаю использовать онлайн-синхронизацию с локальным клиентом, что дает дополнительное преимущество хранения ваших данных в облаке. Это полезно, например, если у вас есть компьютер дома и один на работе / учебе, или в крайнем случае, когда оба ваших компьютера выходят из строя.
У меня есть опыт работы с двумя облаками, которые очень хороши: Dropbox и Mega. Есть еще много.
Поделиться папками
Установите клиент на обоих компьютерах (см. Ссылки выше). Оба создают пункт меню. (Кажется, в Dropbox есть ошибка, связанная с его иконкой. Смотрите этот ответ, чтобы исправить).
Откройте клиент на компьютере с исходной папкой, а затем создайте синхронизацию. Например, в Megasync щелкните правой кнопкой мыши значок панели и выберите настройки. Затем перейдите на вкладку "Синхронизация" и выберите "Добавить". Выберите локальную папку для общего доступа и создайте папку в своем облаке. Вы должны получить что-то вроде этого:
Когда вы нажмете ОК, файлы начнут загружаться в Mega. Процесс более или менее похож на Dropbox. Более подробная информация внизу поста.
- После завершения загрузки откройте клиент на другом компьютере и создайте синхронизацию. Теперь выберите папку в облаке и новую пустую папку в качестве локального места назначения. Клиент поймет и начнет загружать данные в облаке в вашу новую папку.
Вот и все. Ваши две папки синхронизированы и защищены в облаке.
Как я уже сказал, есть много клиентов синхронизации. Я предпочитаю Мегу, потому что:
- он дает 50 ГБ бесплатно (Dropbox дает только 2 ГБ)
- это дешевле, чем Dropbox (если вы идете Pro)
- Вы можете синхронизировать в любом месте (например,
~/Music
); Dropbox синхронизирует только содержимое внутри папки "Dropbox" (например,~/Dropbox/Music
), что раздражает. - Вы можете синхронизировать много папок (
~/Music
,~/Pics/My_puppy
,~/.q3a
); Dropbox позволяет только вещи внутри той же папки "Dropbox".
Единственная проблема, которую я вижу, заключается в том, что Mega может обанкротиться в любое время (из-за проблем с авторским правом). Это случилось с Megaupload раньше. Dropbox может быть более безопасным.