Какое отношение имеет Windows к этому? Я не пытаюсь поделиться с машиной Windows ...
Вы правы, это может сбить с толку. Итак, позвольте мне попытаться уточнить условия в первую очередь:
В Windows общий доступ к файлам и принтерам называется SMB . Люди из проекта SAMBA реализовали все протоколы и спецификации Microsoft для Linux. Поэтому Ubuntu поддерживает тот же тип обмена файлами, что и Windows, который называется Samba.
Вы можете использовать SAMBA для обмена файлами между компьютерами Linux. На самом деле, вы можете предпочесть его, например, если у вас есть друг на компьютере с Windows.
Кроме того, вы можете использовать Linux-способ обмена файлами, который называется NFS (Сетевая файловая система). В этом ответе на предыдущий вопрос объясняется, как это сделать. (но это скорее технический)
Поэтому, когда в диалоговом окне «Параметры общего доступа» вам предлагается установить пакеты, вы фактически не устанавливаете программное обеспечение Microsoft или что-либо подобное. Идите и делайте это, это совершенно безопасно.
Приложение:
Вы можете просто включить обмен, прежде чем следовать инструкциям Салиха Эмина; если это не сработает, вы получите простое предупреждение, затем при необходимости сможете выполнить действия, описанные Салихом. Я попробовал это на недавно установленной и современной системе, и мне действительно нужно было это сделать.
В настоящее время в Lucid есть небольшая ошибка, которая указана в Launchpad: bug # 536766 . Эта ошибка не побуждает пользователя устанавливать необходимые пакеты, необходимые для завершения настройки общего доступа к файлам. Пока это не решено, вот быстрый обходной путь.
Вам нужно установить libapache2-mod-dnssd и перезапустить. Нажмите на эту ссылку, чтобы установить ее, или найдите libapache2-mod-dnssd в Центре программного обеспечения.
После установки перейдите в « Система» → «Настройки» → «Общий доступ к файлам» и установите флажок «Общий доступ к файлам в сети».
Как только это будет сделано, вы сможете просматривать все другие компьютеры в вашей сети, которые разрешают общий доступ к файлам в общей папке. Просто нажмите Places → Network , и вы увидите все доступные компьютеры и их общие папки Public.
Двойной щелчок по значку сервера установит соответствующую общую папку на вашем рабочем столе.
Через текст ссылки
источник
Вы можете просто запустить простой HTTTP-сервер на компьютере с Linux и получить доступ к нему на другом компьютере.
Шаги:
python -m SimpleHTTPServer
ifconfig
.Вы получите необходимые файлы в папке для загрузки.
источник
python3 -m http.server
Я полагаю, что это то, что пакеты SAMBA перечислены под, или это по крайней мере часть их описания. В качестве альтернативы вы можете попробовать Preferences-> File Sharing, который, я считаю, использует другой механизм. Samba - удобная вещь для установки.
источник
Вы можете установить "qweborf". Он будет использовать каталог по HTTP, а другие хосты смогут получить доступ через браузер.
Он также может включить webdav и разрешить монтирование каталога как файловую систему для чтения / записи (протестировано с davfs2, KDE, Gnome2, OsX).
источник
Если вам нужна бесшовная интеграция в Ubuntu, и вы не заинтересованы в совместимости с Windows, SSH - это ваша компания.
См. Как я могу обмениваться файлами между двумя компьютерами Linux по локальной сети?
Вам может понадобиться установить сервер SSH с:
Из приложения менеджера файлов на вашем клиенте вы можете попасть на ваш сервер с помощью:
Чтобы получить доступ к файлам из терминала или программно, используйте
sshfs
для создания точки монтирования в файловой системе клиента.источник
scp
и (даже лучше)rsync
.Для сетей только с Linux я нахожу SSHFS естественным, стабильным и чрезвычайно быстрым. У меня есть две машины Xubuntu (18.04), использующие общие / домашние папки через SSH.
Вот как настроить sshfs и автоматически переподключиться после перезагрузки, используя fstab без необходимости ввода пароля. Большое спасибо пользователю serverfault kubanczyk за то, как восстановить соединение после удаленной приостановки / возобновления.
Я буду использовать «Local machine - surfbox» для компьютера, к которому вы подключаетесь, и «Remote machine - devbox» для компьютера, к которому вы подключаетесь.
Замените «remoteuser» ниже на имя пользователя, с которым вы входите на Удаленной машине, и «localuser» на имя пользователя, с которым вы входите на Локальной машине. Для проверки имен пользователей введите
echo $USER
в терминале на удаленных и локальных компьютерах.Кроме того, проверьте свой userID или groupID, они оба должны быть 1000.
GroupID:
id -g localuser
UserID:id -u localuser
1. Получить IP-адреса ваших локальных и удаленных машин.
Я буду использовать 192.168.1.150 для локальной машины ('surfbox') и 192.168.1.151 для удаленной машины ('devbox')
2. Установите пакеты на локальные и удаленные машины.
3. Создайте групповой предохранитель и добавьте к нему localuser
Создать группу:
sudo groupadd fuse
Добавьте localuser в группу:
sudo usermod -a -G fuse $user
4. Включите "allow_other" в конфигурации предохранителей
Нам понадобится эта опция при монтировании в fstab
Отредактируйте
/etc/fuse.conf
с помощью редактора командной строки. Удалите хэштегом ранееuser_allow_other
и сохраните.5. Генерация ключей SSH на локальной машине
Не указывайте пароль при запросе . Просто нажмите Enter, чтобы оставить пустым.
ssh-keygen -t rsa -C youremail@example.com
Ключи хранятся в домашнем каталоге локальной машины / .ssh
6. Перенесите открытый SSH-ключ Локальной машины на Удаленную машину.
ssh-copy-id -i ~/.ssh/id_rsa.pub remoteuser@192.168.1.151
Вам будет предложено ввести пароль для удаленного пользователя на удаленном компьютере. Открытый ключ локального компьютера теперь добавлен в файл ~ / .ssh / authorized_keys на удаленном компьютере.
7. Создайте каталог в папке Local machine / mnt, куда вы будете монтировать папку Remote machine / home.
Выберите любое имя, которое имеет смысл для вашей удаленной машины.
sudo mkdir /mnt/devboxhome
8. Смонтируйте удаленный компьютер / домашний каталог с терминала
Синтаксис для sshfs есть
sshfs [user@]host:[directory] mountpoint [options]
мы используем
sudo sshfs [remoteuser]@192.168.1.151:/home/[remoteuser] /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/[localuser]/.ssh/id_rsa
пример: предполагается, что «steve» является именем пользователя как на локальной, так и на удаленной машине
sudo sshfs steve@192.168.1.151:/home/steve /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/steve/.ssh/id_rsa
Поскольку вы передали открытый ключ RSA на удаленный компьютер, вам не нужно запрашивать пароль удаленного пользователя.
Вы получите предупреждение о том, что машине не доверяют, и предложит добавить ее. Добавьте удаленный компьютер как доверенный.
9. Проверка: Обзор удаленного компьютера / домашнего каталога
В терминале на Локальной машине вы можете теперь перечислить Удаленный компьютер / домашний каталог в / mnt / devboxhome
cd /mnt/devboxhome ls
или используйте Nautilus, чтобы просмотреть каталог. Отлично.
10. Включите переподключение после перезагрузки
Мы добавим запись в / etc / fstab, чтобы это произошло. Вам понадобится ваш ID пользователя локальной машины или groupid - смотрите введение, если вы пропустили это. Отредактируйте / etc / fstab с помощью вашего редактора командной строки и добавьте эти две строки в конец / etc / fstab
# Mount devbox at boot remoteuser@192.168.1.151:/home/[remoteuser]/ /mnt/devboxhome fuse.sshfs default_permissions,user,delay_connect,reconnect,serversliveinterval=15,serveralivecountmax=3,allow_other,identityfile=/home/[localuser]/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
ServerAliveCountMax
последовательные эхо-запросы не выполняются, восстановите соединение.Пользователь, входящий в систему как Стив на локальных и удаленных машинах, будет иметь:
steve@192.168.1.151:/home/steve/ /mnt/devboxhome fuse.sshfs default_permissions,user,delay_connect,reconnect,serversliveinterval=15,serveralivecountmax=3,allow_other,identityfile=/home/steve/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
ВАЖНО : косая черта после удаленного каталога: steve@192.168.1.151: / home / steve /
сохранить / etc / fstab и ....
11. Перезагрузка
Теперь вы должны иметь доступ к каталогу Remote machine / home на локальном компьютере / mnt / devboxhome. В Nautilus вы можете перетащить эту папку на панель Places.
12. Повторите
Повторите те же действия на удаленном компьютере, чтобы сделать каталог / home локального компьютера общим.
источник
Мой способ обмена файлами:
Перейдите в папку, которой вы хотите поделиться, откройте терминал и выполните эту команду:
Вы сможете получить доступ к этой папке на всех машинах в той же сети по IP-адресу, указанному в выводе этой команды.
источник
zx81roadkill прав, используйте "sshfs". Самба это дерьмо, NFS это мусор. Sshfs полностью пригоден для использования с моего компьютера здесь, в Калифорнии, на компьютер в Аргентине. Это абсолютно безопасно, это так же быстро, как и все остальное (у меня есть гибибит линия).
Sshfs относительно новичок по сравнению с Samba и NFS, но он намного превосходит оба. Вот пример его запуска (при условии, что у вас установлены все пакеты)
После того, как вы введете пароль, / tmp / my_mount будет содержать все файлы «username» на «machine». Не беспокойтесь о Samba или NFS. Они просто бессмысленная боль в заднице либо настраивать, либо настраивать.
Размонтировать:
и если это не удается (по какой-либо причине):
Все данные, отправленные через точку монтирования, зашифрованы. Почему это не стандартный, общепринятый способ монтирования на удаленной машине, для меня загадка. Это значительно превосходит любой другой метод с точки зрения простоты.
Если вам нужна грубая скорость, возможно, это будет раздутый кусок мусорной Samba или NFS. Я не знаю, мне достаточно 100 МБ / с +.
источник