Монтируем папку через sftp на Ubuntu

SFTP
Потребовалось получить доступ к папке на сервере с Ubuntu, с возможностью примонтировать её на свой компьютер (тоже Ubuntu).

Чтобы не городить лишний софт и использовать шифрование, воспользуемся протоколом SFTP (SSH File Transfer Protocol), который входит в состав Openssh.

На сервере

Логинимся на сервер по ssh и создаем пользователя sftp-user, запрещаем ему локальный вход и возможность выходить за пределы своей домашней директории:
useradd -d /dev/null -M -s /bin/bash sftp-user
passwd sftp-user
Добавляем в /etc/ssh/ssh_config:
Subsystem      sftp    internal-sftp

Match User sftp-user
        X11Forwarding no
        AllowTcpForwarding no
        AllowAgentForwarding no
        PermitTunnel no
        ForceCommand internal-sftp
        ChrootDirectory /tmp
В ChrootDirectory указываем требуемую папку, в которую монтировать. Не забудьте проверить права доступа :)

На клиенте

Устанавлияваем sftp клиента:
apt-get install sshfs
Создаем папку, в которую будем монтировать файловую систему:
mkdir /mnt/test
Пробуем соединиться с сервером:
sshfs sftp-user@server-ip-address:/tmp /mnt/test/
Далее нужно будет ввести пароль для авторизации и проверить содержимое /mnt/test
Отключить соединение можно командой:
umount /mnt/test
Нас, конечно, интересует автоматизация подключения, приступим:
Чтобы не вводить пароль, передадим его напрямую:
echo 'password'| sshfs sftp-user@server-ip-address:/tmp /mnt/test/ -o password_stdin
Это небезопасно, так что можно засунуть это конструкцию в скрипт и ограничить доступ до него. Либо вы можете настроить авторизацию по сертификату (Гугл в помощь). Далее можно засунуть команду или полученный скрипт в crontab и монтировать папку при включении компьютера, но это не удобно. Вот здесь я подсмотрел другой способ. Монтирование происходит только при обращении к папке.
Устанавливем Automount FUSE и пробуем подключиться:
sudo apt-get install afuse
afuse -o mount_template="sshfs %r:/ %m" -o unmount_template="fusermount -u -z %m" /tmp
Тут можно также накрутить скриптов для автоматизации, но это уже тема отдельного поста.

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

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