Automount sshfs przy użyciu fstab bez mount -a

24

Proszę wziąć pod uwagę następującą linię fstab (podział linii dla czytelności):

sshfs#[email protected]:/home/user/ 
/home/user/Server/ 
fuse    
auto,user,_netdev,reconnect,uid=1000,gid=1000,IdentityFile=/home/user/.ssh/id_rsa,idmap=user,allow_other  
0 

Działa dobrze, ale przy każdym ponownym uruchomieniu muszę użyć, mount -aaby zamontować serwer (lub kliknąć odpowiednią ikonę w Thunar, aby zamontować rzecz)

Czy jest możliwe zamontowanie mojego katalogu ssh od razu podczas uruchamiania?

Używam Xubuntu 13.10

użytkownik21886
źródło

Odpowiedzi:

18

Prawidłowa składnia do montowania udziałów sshfs podczas rozruchu w pliku / etc / fstab to

 USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY  /LOCAL/MOUNTPOINT  fuse.sshfs _netdev,user,idmap=user,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N,gid=USER_GID_N 0 0

Jest to adaptacja niesystemowych dystrybucji instrukcji zawartych tutaj . Jeśli zamiast tego korzystasz z dystrybucji systemowej (Arch, Fedora, OpenSUSE, ...) odpowiednia instrukcja to:

USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY  /LOCAL/MOUNTPOINT  fuse.sshfs x-systemd.automount,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N,gid=USER_GID_N 0 0
MariusMatutiae
źródło
Wygląda jak prawie taka sama linia fstab jak moja (z wyjątkiem uprawnień i opcji dowiązania symbolicznego) W każdym razie spróbowałem tego i bez powodzenia. Nadal muszę wykonać mount -apo uruchomieniu
user21886
To zabawne, po prostu pracował dla innego użytkownika superuser.com/questions/666739/... . Czy sprawdziłeś, że jesteś użytkownikiem 1000,1000 i że masz klucz w id_rsa?
MariusMatutiae
Tak i działa w 100%, ale muszę uruchomić mount -apo uruchomieniu. Spodziewam się dodać mount -ado autostartu
user21886
Jest to możliwe, zanim sieć pojawi się po wykonaniu montowania podczas rozruchu. Spróbuj dodać te dwie linie w rc.local sleep 10: mount -a
MariusMatutiae
Nadal nie ma sukcesu. Perpaphs problemem jest moja konfiguracja - moja sieć Ethernet jest uruchomiona 5-15 sekund po uruchomieniu xfce (i środowiska komputerowego). Nie wiem, dlaczego Ubuntu tak działa. Mój arch łączy się przed xfce itp.
user21886
4

Spróbuj użyć opcji delay_connect .

Pełna linia / etc / fstab:

USER@HOSTNAME:/REMOTE/ /LOCAL/ fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N,gid=USER_GID_N 0 0
Dmitrij Sandałow
źródło
2

Te delay_connect, _netdev... są poprawne, ale nie będą działać, chyba że poprawisz sieć, aby pojawiała się dokładnie w (lub wcześniej) tym małym oknie czasowym, gdy przetwarzany jest plik / etc / fstab. Kiedy przetwarzanie się zakończy, a sieci pojawią się później, musisz użyć mount -a(lub znajomych).

W większości przypadków (i moje również) network-managerspowodował problem, ponieważ domyślnie uruchamia sieć po zalogowaniu . Można go zmodyfikować, aby wyświetlał go wcześniej podczas uruchamiania. Jeśli dobrze pamiętam, wystarczy zaznaczyć opcję Available to all usersw oknie dialogowym właściwości połączenia (lub, jeśli wolisz wiersz poleceń, utworzyć ręcznie połączenie /etc/NetworkManager/system-connections).

SkyRaT
źródło
0

Na podstawie tej strony pomocy Ubuntu i moich prób z Debianem 9, działam i mam odpowiednie uprawnienia do plików z tym fstabwpisem:

sshfs#user@host:/remote/path /local/path fuse delay_connect,defaults,idmap=user,IdentityFile=/local/path/to/privatekey.pem,port=22,uid=1001,gid=1002,allow_other 0 0

delay_connectzapewnia, fstabże nie montuje zdalnego folderu przed uruchomieniem interfejsów sieciowych.

Można zmienić port, uid, gidaby dopasować swoje potrzeby lokalne. Aby dowiedzieć się, moje uid/ gidPo prostu użyłem, $ idgdy jestem zalogowany z właściwym użytkownikiem.

allow_otherczy umożliwia innym użytkownikom / grupom dostęp do zamontowanego katalogu; Nawet przy odpowiednich /local/pathuprawnieniach (na przykład 777) jest to potrzebne, jeśli chcesz, aby inny użytkownik (inny niż montujący sshfs) miał dostęp do zamontowanego katalogu.

Inne opcje można znaleźć na stronie podręcznika sshfs

kheraud
źródło