Używam sshfs
do montowania folderu z niektórymi projektami Pythona przez ssh do mojego ~/
katalogu.
$ mkdir -p ~/mount/my-projects
$ sshfs [email protected]:/home/user/my-projects ~/mount/my-projects
Mogę wykonać większość poleceń, jakich można się było spodziewać:
$ ls ~/mount/my-projects
some-python-project
Ale jeśli spróbuję cokolwiek zrobić sudo
, nie powiedzie się to z odmową zgody:
$ sudo ls ~/mount/my-projects
ls: cannot access /home/user/mount/my-projects: Permission denied
To, co faktycznie próbuję osiągnąć, to przetestowanie skryptu instalacyjnego pakietu python na moim komputerze lokalnym:
$ cd ~/mount/my-projects/some-python-project
$ sudo python setup.py install
allow_root
opcję zezwalaniaroot
tylko. Pamiętaj jednak, że te opcje są domyślnie ograniczone do rootowania, chyba że dodaszuser_allow_other
linię do/etc/fuse.conf
.sshfs
to proces użytkownika, więc nie trzeba go uruchamiaćsudo
.Jeśli uruchomisz go jako sudo i użyjesz uwierzytelnienia klucza SSH, klucz zostanie przeszukany pod,
/root/.ssh
a nie pod użytkownikiem/home/myuser/.ssh
.To samo dotyczy
~/.ssh/config
pliku, któregosshfs
można użyć.Jeśli masz coś
~/.ssh/config
takiego:wtedy możesz zamontować swojego zdalnego hosta jako zwykły użytkownik za pomocą:
Aby uruchomić pod rootem, możesz dołączyć
-o IdentityFile /home/myuser/.ssh/id_rsa
do polecenia „raw”sshfs
lub utworzyć/root/.ssh/config
pełną ścieżkę do klucza SSH użytkownika:Teraz
sshfs remotehost: local_dir
będzie również działał pod rootem.źródło
Tym, co rozwiązało problem, było dodanie
allow_other
opcji do polecenia w następujący sposób:wtedy możesz otrzymać błąd:
Jeśli to rozwiązało problem i udało Ci się uruchomić
sshfs
, świetnie! Jeśli nie, spróbuj dodać użytkownika do grupy bezpieczników za pomocą tego polecenia:a jeśli spowoduje to błąd informujący, że grupa bezpieczników nie istnieje, możesz łatwo utworzyć tę grupę poprzez:
źródło