open-source-opensshСегодня мы поговорим о файловой системе Secure Shell FileSystem (сокращенно SSHFS) благодаря которой мы сможем использовать удаленное управление файлами, при этом делать этом соблюдая безопасность, так как подключение будет осуществляться через SFTP, который в свою очередь работает через SSH. Мы рассмотрим работу с SSHFS в Linux и Mac OS X. Сразу замечу тот факт, что при нестабильном соединении можно будет столкнуться с проблемами, так как основное предназначение SSH, это не гарантированность соединения, а безопасность.

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

SSHFS в Mac OS X.

Дано:

  • Удаленный сервер с SSH, к которому мы хотим подключиться.
  • Mac OS X  > 10.5.

Для начала нам поддержка FUSE. Раньше я использовал MacFUSE от Google, но он перестал обновляться, так что теперь мое внимание направлено на более динамичную разработку — FUSE for OS X, которая и позиционируется, как продолжение MacFUSE.

Все необходимое мы возьмем с официального сайта на гите http://osxfuse.github.com/

1. Скачаем последнюю версию OSXFUSE.

На момент написания статьи версия OSXFUSE 2.5.4, DMG которого можно скачать по ссылке https://github.com/downloads/osxfuse/osxfuse/OSXFUSE-2.5.4.dmg.

2. Откроем DMG пакет и нажмем Install OSXFUSE 2.5.

3. Установим OSXFUSE, как любое другое приложение.

ВАЖНО: при выборе компонент установки поставить галку «MacFUSE Compatibility Layer».

4. Скачаем пакет SSHFS.

На момент написания статьи версия SSHFS 2.4.1., скачать можно по ссылке https://github.com/downloads/osxfuse/sshfs/SSHFS-2.4.1.pkg.

5. Установим пакет SSHFS.

6. Теперь нам понадобится приложение MacFusion, последнюю версию которого мы можем взять с официального сайта http://macfusionapp.org/.

7. Скачаем и распакуем его в папку Программы.

8. Запустим Macfusion, откроется подобное окно.

Macfusion

При первом запуске он спросит, хотим ли мы запускать его как сервис. Я обычно соглашаюсь, так как хочу получать автомонтирование.

9. Нажмем на + слева внизу, выберем SSHFS.

10. Укажем имя подключения,хост, логин, пароль и домашнюю директорию. После заполнения полей нажмем OK.

Macfusion

11. Нажмем Mount на появившемся соединении.

12. Перейдем по пути /Volumes и увидим наше подключение.

СОВЕТ: Если вы ходите на удаленный сервер через сертификат, то для подключения будет использоваться именно он, игнорируя связку User Name/Password.

Распространенная проблема: соединение не устанавливается, жалуется на непредвиденную ошибку.

Решение: Нажмите CMD+L. Откроется лог. Если вы увидите ошибку «Library not loaded: /usr/local/lib/libfuse.0.dylib», значит при установке OSXFUSE вы забыли поставить галку «MacFUSE Compatibility Layer». Заново запустите установку и поставьте галку. После этого проблема будет решена.

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

SSHFS в Linux на примере Debian и Ubuntu.

В отличие от первой части статьи, в которой мы подключали SSHFS без использования консоли, потребность в SSHFS для Linux часто возникает на серверах, так что здесь мы все будем делать исключительно через консоль.

Нам потребуется:

  • Linux (в примере использован Debian, точно так-же все настраивается в Ubuntu)
  • OpenSSH клиент.

1. Установим необходимые пакеты:

2. Подгрузим поддержку fuse в ядро через modprobe.

3. Убедимся, что fuse успешно подгружен через сообщения ядра.

На выходе мы должны получить что-то типа этого:

4. Создадим директорию, в которую будем монтировать SSHFS.

5. Примонтируем SSHFS в директорию.

6. Насладимся полученным результатом.

7. Отмонтируем SSHFS.

Для настройки монтирования через fstab, пропишем следующую строку:

Этот способ заработает, только если для пользователя, под которым будет происходить монтирование, будет использоваться аутентификация по сертификату (в примере admin).
О том, как реализовать аутентификацию по сертификату, вы можете почитать в моей статье SSH. Великий и могучий.

На этом все, спасибо за внимание.