вторник, 27 марта 2012 г.

Объеденение компьютеров Ubuntu через SSHFS

Автор — Адам Хунт (Adam Hunt)
http://help.ubuntu.ru/fullcircle/28/sshfs

Cуществует множество путей соединить два компьютера, на которых установлена Ubuntu, чтобы появилась возможность передавать файлы между ними. Мы привыкли использовать устройства USB, переподключая их к разным компьютерам, что образно называют «сеть вручную». Но лучшим путём является использование SSHFS или «Secure SHell File System».

SSHFS использует OpenSSH, чтобы установить защищённое (зашифрованное) соединение между компьютерами.
С подключенной сетью локальный пользователь получает возможность перемещать, открывать и редактировать файлы на удалённом компьютере так, как будто они находятся своём компьютере. Эти файлы будут выглядеть и реагировать точно так, как если бы находились на локальном компьютере.

Чтобы создать сеть SSHFS, вам будет достаточно двух компьютеров, подсоединённых к одному роутеру или шлюзу. В Ubuntu есть всё необходимое, однако, на оба компьютера требуется установить ещё две программы, которые есть в репозиториях. Вот как это сделать:
В меню выберите Система > Администрирование > Менеджер пакетов Synaptic и установите следующие пакеты: sshfs и openssh-server.
Также в Synaptic проверьте, что openssh-client установлен (обычно в Ubuntu уже есть).
Откройте меню Система > Администрирование > Пользователи и группы > Разблокировать > Управление группами. Добавьте группу fuse.
Создайте пустую папку в вашей корневой директории (Ctrl+Shift+N), назовите её отлично от такой же папки другого пользователя, чтобы избежать недоразумений.

Этим завершается подготовка сетевого инструментария. Чтобы запустить сеть, вам нужно включить SSHFS и указать, откуда файлы брать и куда их сохранять (та папка, которую вы только что создали):

Перейдите в Приложения > Стандартные > Терминал и введите:sshfs remoteusername@remotepc:/home/remoteusername ~/newfolder


или, так как SSHFS использует домашнюю папку пользователя как место по-умолчанию, вы можете сократить команду:sshfs remoteusername@remotepc: ~/newfolder


Программа запросит у вас пароль к удалённому компьютеру (его пароль, не ваш), чтобы подтвердить, что вы имеете право доступа, и при первом запуске подтвердить другой компьютер. После чего соединение будет установлено, и у вас появится соответствующая иконка. Вы сможете открыть домашнюю папку другого пользователя просто кликнув по этой иконке в вашей домашней папке. Далее вы сможете копировать, перемещать, редактировать и удалять файлы так, как будто они на вашем компьютере. Документы, защищённые паролем, останутся также под паролем. Сеть SSHFS односторонняя, что означает, каждый компьютер индивидуально соединён с другим. Если вы подключитесь к другому компьютеру, с того невозможно будет увидеть ваши файлы, не установив своего соединения.

Чтобы отсоединить ваш компьютер от сети, введите в терминале:fusermount -u ~/newfolder


«-u» означает «unmount».

Есть несколько важных моментов, которые необходимо помнить, используя SSHFS:
Если компьютер был перезагружен, соединение будет разорвано, и его надо будет переустановить заново.
Если сеть нарушается в результате ошибки, оба компьютера могут потерять доступ к своим папкам или иные функции до перезагрузки.
Также сеть может рухнуть в результате антивирусной проверки программой ClamAV домашней папки пользователя с подключённой сетевой папкой. Clam будет пытаться просканировать всю вашу домашнюю папку, включая подключённую папку другого компьютера, что вызовет ошибку. Решение состоит в размонтировании (отключении) сетевой папки перед сканированием. Это предотвратит ошибки и позволит осуществить корректную антивирусную проверку.
Вы также можете нарушить работу сети, если другой компьютер подключён к вашему, а вы выбираете в его папке свою домашнюю папку, затем в ней снова его папку и так далее. Не делайте этого!

Возможно, есть и другие способы сломать сеть, которые я не упомянул здесь. Быть может, вы с ними столкнётесь. Если работа сети нарушена, просто переустановите соединение из командной строки или перезагрузите компьютер. Если произошли изменения на стороне другого компьютера, например, поменялся его идентификатор, или вы получаете постоянные ошибки, тогда вам нужно открыть скрытый файл в вашей папке ~/.SSH/known_hosts, стереть информацию из этого файла и затем сохранить. После того как вы переустановите соединение, информация будет обновлена.

Старайтесь, чтобы локальный и удалённый пользователь одновременно не редактировали один и тот же документ. Если вам необходимо поработать с документом другого пользователя, а вы не уверены, что с ним уже не работают, лучше скопируйте его себе и работайте локально, а когда закончите, скопируйте обратно на удалённый компьютер, перезаписав существующий файл. Вы можете проверить дату и время изменения того файла, чтобы быть уверенным, что его не редактировали.

Не смотря на то, что это такой простой инструмент установки соединения, SSHFS работает хорошо, и, конечно, гораздо эффективнее помогает синхронизировать файлы на двух компьютерах, чем использование устройств USB для этого.

Я хотел бы поблагодарить Группу Пользователей Linux из Оттавы, Канада (Ottawa Canada LUG) за то, что научили меня пользоваться сетью SSHFS.

Комментариев нет:

Отправить комментарий