Używając serwera NAS jako serwera plików 24/7, chciałbym użyć sshfs do połączenia się z nim z pulpitu Ubuntu 9.04. Obecnie mam ten wiersz w fstab na pulpicie:
sshfs#jldugger@storage:/mnt/HD_a2/ /mnt/storage fuse comment=sshfs,auto,users,exec,uid=1000,gid=1000,allow_other,reconnect,transform_symlinks,BatchMode=yes,fsname=sshfs#jldugger@storage/mnt/HD_a2/ 0 0
Mogę potwierdzić, że działa z mount /mnt/storage
. Potrzebuję jakiejś metody zamontowania go podczas uruchamiania, ale po ustanowieniu połączenia sieciowego.
Odpowiedzi:
Obecnie Upstart w Ubuntu nie generuje zdarzeń sieciowych. Zamiast tego nazywa tradycyjny sysvinit. Domyślnie NetworkManager jest zainstalowany i uruchomiony; zamiast emitować zdarzenia sieciowe do uruchomienia, zawiera on dyspozytor części roboczych (/etc/NetworkManager/dispatcher.d/), który sam opiera się tylko na dyspozytorze części runowych ifupdown (/etc/network/*.d/). W szczególności zależy ci na /etc/network/if-up.d/ i /etc/network/if-down.d/
Najpierw skonfiguruj nieszyfrowaną parę kluczy ssh, abyś mógł zamontować punkt bez pytania. Napisz skrypt, umieść go w /etc/network/if-up.d/ i włącz plik wykonywalny. Następujące zostały odkryte w UbuntuForums i były dla mnie wystarczające:
Jeśli masz połączenie Wi-Fi lub w inny sposób zawodne, umieść to w /etc/network/if-down.d/:
źródło
echo
polecenia wyjściowe na standardowe nalogger -t mountsshfs
polecenia, aby dane wyjściowe trafiły do syslog.Upstart jest obecnie preferowaną metodą wydawania skryptów startowych lub usług w Ubuntu, chociaż edycja
/etc/rc.local
nadal działa. Funkcja Upstart pozwala kontrolować, kiedy usługa jest uruchomiona, upewniając się, że dzieje się to po zainicjowaniu połączenia sieciowego.Możliwe jest także edytowanie dowiązań symbolicznych bezpośrednio w /etc/rc.Xd (zastąp X, którego używasz na poziomie uruchamiania) i dodaj nazwę, taką jak S99mount, aby upewnić się, że działa po konfiguracji sieci. Będzie to musiało wskazywać na plik skryptu, który montuje sshfs, o który prosisz.
źródło
Uważam, że _netdev jako opcja montowania powinna to rozwiązać
źródło
To tylko myśl, ale jeśli używasz tego jako serwera plików, może NFS lub Samba byłyby lepszym rozwiązaniem niż ssh.
źródło
Oto inne rozwiązanie w przypadku, gdy nie masz certyfikatu ze zdalnego hosta i zamiast tego musisz użyć loginu / hasła. Używam w tym przykładzie tej samej nazwy użytkownika i katalogów, z których korzysta jldugger, aby uniknąć pomyłek.
Utwórz plik zawierający swoje hasło w katalogu domowym i zabezpiecz go:
Edytuj
/etc/rc.local
plik i wstaw następujące polecenie u dołu, ale przed „wyjściem 0”:źródło