Текущая страница: ГлавнаяРазное → Установка и настройка SSHFS и AutoFS

Установка и настройка SSHFS и AutoFS

SSHFS — это клиент файловой системы на базе SSH File Transfer Protocol.
Терминология (как ни странно, в некоторых интернет-руководствах я наблюдал путаницу в этом вопросе)
Сервер — компьютер к которому мы подключаемся.
Клиент — компьютер с которого мы подключаемся.
На клиенте генерируем RSA ключи:
#ssh-keygen -t rsa -f ~/.ssh/id_rsa_mykey1
Скрипт создал 2 ключа: приватный и публичный.
Your identification has been saved in ~/.ssh/id_rsa_mykey1 — секретный приватный ключ для декодирования.
Your public key has been saved in ~/.ssh/id_rsa_mykey1.pub — публичный ключ для кодирования.
Сейчас нужно скопировать на сервер наш публичный ключ:
#ssh-copy-id -i ~/.ssh/id_rsa_mykey1.pub user@server
После этой команды на сервере, в папке пользователя /home/user/.ssh появляется файл authorized_keys содержащий наш публичный ключ.
С клиента подключаемся ssh user@server -i ~/.ssh/id_rsa_mykey1
Если используем Putty — Заходим в SSH->Auth и там выбираем файл где находится наш приватный ключ.
Установка на Ubuntu SSHFS(поскольку sshfs — клиент, ставим мы все это на компьютере с которого подключаемся к серверу)

apt-get install sshfs autofs

Создаем папку, куда будет монтироваться каталог на удаленном сервере:

mkdir /home/user/remote

Теперь беремся за настройку autofs.
Открываем на редактирование файл /etc/auto.master и добавляем туда:

/home/user/remote /etc/auto.sshfs --timeout=30,--ghost

где /home/user/remote — это папка, за которой будет следить наш autofs и в которую будут монтироваться файловые системы
Теперь создадим файл /etc/auto.sshfs и запишем в него:

mountpoint -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536,reconnect,uid=1000,gid=1000,IdentityFile=/path/to/private/key  :sshfs\#user@server\:remote_dir

Тут mountpoint — точка монтирования, каталог, который будет создан в /home/user/remote
Рестартуем сервис autofs и разлогиниваемся из-под root:

service autofs restart
exit

Небольшие пояснения
Подключить удаленный каталог через sshfs:
sshfs login@x.x.x.x:/remote/path /local/path/ -o IdentityFile=/path/to/key
Отключить удаленный каталог fusermount -u /local/path/
Подключиться по ssh с использованием ключа и конфиг файла
ssh alias_name -F ~/.ssh/ssh_config
Создаем ssh_config /home/user/.ssh/ssh_config такого содержания

Host <alias_name>
      HostName <remote_server>
      User <Username>
      IdentifyFile /home/user/.ssh/id_rsa_mykey1

Если не работает в /etc/auto.master добавляем

--debug

и рестартуем autofs
После этого логи пошли в /var/log/syslog:

cat /var/log/syslog | grep automount

Добавить комментарий