LINUX.ORG.RU
решено ФорумAdmin

Reverse SSHFS mount

 , ,


0

0

Думаю, ЛОР-овцам будет полезно.

Итак, все знают, что можно с помощью sshfs примонтировать удалённую директорию:

sshfs user@server:/remote/path /local/path

Однако, возникла обратная задача: примонтировать локальную директорию на сервере, инициировав подключение и командуя с локальной машины. При этом не подымая ssh-сервера на клиенте. Да вообще не делая ничего, что может потребовать root-прав, вроде поднятия интырпрайз-ready NFS-сервера.

Пользуясь прямой видимостью клиента с сервера (если бы её не было, можно бы было организовать reverse-туннель), пробовал поднять всякие колченогие недосервера, вроде davserver для WebDAV или python -m pyftpdlib для FTP и монтировать их на сервере с использованием wdfs или curlftpfs. На чтение работало (медленно), при попытке записи на WebDAV процесс на сервере намертво зависал (кажется, виноват wdfs, но я особо не разбирался), а curlftpfs не поддерживает seek.

Немного погуглив, наткнулся на это https://blog.dhampir.no/content/reverse-sshfs-mounts-fs-push и понял: это ОНО! Правда, там то, что мне нужно, описано другими словами: сервер иницирует подключение к клиенту и монтирует ему путь, который считает нужным. Но тут вопрос в том, что назвать сервером. Я называю ту машину, где работает sshd.

Итого, команда выглядит так:

dpipe /usr/lib/openssh/sftp-server = ssh user@server sshfs :/local/path /remote/path -o slave

★★★

Последнее исправление: utf8nowhere (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.