Я использую sshfs
для монтирования папки с некоторыми проектами Python через SSH в мой ~/
каталог.
$ mkdir -p ~/mount/my-projects
$ sshfs user@example.com:/home/user/my-projects ~/mount/my-projects
Я могу выполнить большинство команд, как и следовало ожидать:
$ ls ~/mount/my-projects
some-python-project
Но я, если я попытаюсь что-то сделать sudo
, не получится с отказом в разрешении:
$ sudo ls ~/mount/my-projects
ls: cannot access /home/user/mount/my-projects: Permission denied
На самом деле я пытаюсь протестировать скрипт установки пакета python на моей локальной машине:
$ cd ~/mount/my-projects/some-python-project
$ sudo python setup.py install
allow_root
возможность разрешитьroot
только. Тем не менее, обратите внимание, что по умолчанию эти параметры ограничены root, если вы не добавитеuser_allow_other
строку в/etc/fuse.conf
.sshfs
это пользовательский процесс, поэтому запускать его не нужноsudo
.Если вы запустите его в качестве ключа аутентификации Суда и использование SSH, то ключ будет искать под
/root/.ssh
и не под вашим пользователя/home/myuser/.ssh
.То же самое относится и к
~/.ssh/config
файлу, которыйsshfs
можно использовать.Если у вас есть
~/.ssh/config
как:тогда вы можете смонтировать ваш удаленный хост как обычный пользователь с помощью:
Для запуска под пользователем root вы можете добавить
-o IdentityFile /home/myuser/.ssh/id_rsa
команду «raw»sshfs
или создать/root/.ssh/config
с полным путем к SSH-ключу вашего пользователя:Теперь
sshfs remotehost: local_dir
также будет работать под root.источник
Что решило проблему для меня, так это добавив
allow_other
опцию в команду:тогда вы можете получить ошибку:
Если это решит проблему, и вы сможете
sshfs
успешно бежать , отлично! Если нет, попробуйте добавить своего пользователя в группу предохранителей с помощью этой команды:и если это приводит к ошибке, говоря, что группа предохранителей не существует, вы можете легко создать эту группу:
источник