Я знаю, что sshfs используется для подключения удаленного каталога к локальному, но мне нужно подключить локальный каталог к удаленному файлу.
Я хотел бы смонтировать локальную папку, такую как:
/home/username/project_directory
на удаленную машину, к которой у меня есть доступ по ssh, например:
/var/www/project_directory
Цель состоит в том, чтобы изменения, сделанные локально, отражались в удаленной файловой системе.
Ответы:
от: http://mysteriousswede.blogspot.com/2012/01/mount-local-directory-to-server-on.html
Как это сделать? Вы настраиваете пересылку по протоколу ssh, используя порт 10000 на компьютере, на котором вы вошли в порт 22 на локальном компьютере, и используете sshfs для подключения с другой стороны.
F.ex. смонтировать / home / username / mywwwdevelstuff на вашем локальном компьютере в / var / www на стороне сервера:
источник
Нет.
Чтобы сделать это «все», вам нужно изменить свою логику. Вы можете, например, установить 1 вкладыш, который будет использовать ssh на удаленном компьютере, а затем использовать sshfs для монтирования удаленного каталога на локальном компьютере на этом компьютере. Конечно, это может быть проще, чем с NAT, правилами брандмауэра и т. Д., Но вы не описали свой вариант использования.
Существуют и другие протоколы, такие как SMB и, что еще лучше, NFS, но они будут страдать от подобных проблем.
Суть проблемы, с которой вы столкнулись, заключается в том, что машине нужно доверять источнику данных, и если вы можете удаленно смонтировать файловую систему, которая нарушит один из основных принципов безопасности в Интернете.
источник
Основываясь на сценарии @ Nobody, я обобщил его некоторыми полезными комментариями. Ниже мой сценарий.
https://gist.github.com/allenyllee/ddf9be045810572cd809ae3587a23658
источник
В принципе, это то же самое, что и ответ Куинна, но как рабочий сценарий, а не отдельные команды, которые требуют адаптации для каждой машины / использования.
Я не знаю о накладных расходах в этом, мне кажется, что он шифрует / дешифрует все дважды.
Я отключаю HostAuthenticationForLocalhost, потому что, очевидно, localhost может быть чем угодно. Это совершенно безопасно с аутентификацией с открытым ключом. Вы не должны использовать пароли в любом случае, но даже с паролями вы подключаетесь к хосту, который, как вы знаете, вы контролируете.
источник