Każdy z was pewnie nie raz chciał mieć dostęp do swoich danych zgromadzonych w innym miejscu świata.
Ja postanowiłem dorwać się do mojej małej macierzy która (niestety) komunikuje się ze światem poprzez USB. Na szczęście nieopodal niej stoi całkiem poczciwy serwer deweloperski. Kilka linijek do /etc/fstab i już można cieszyć się dostępem do danych za pośrednictwem SSH.
Jak zwykle jest to jednak za mało. Czy nie byłoby fajniej mieć zamapowany z automatu każdy z dysków na np. laptopie? Pewnie że by było :) i tym się dzisiaj zajmiemy. Aby montować nasze zdalne partycje wykorzystamy sshfs oraz autofs.
Zainstalujmy najpierw to czego potrzebujemy:
sudo aptitude install sshfs autofs
Następnie dodajmy się do grupy fuse:
sudo gpasswd -a $USER fuse
Zamknijmy okno basha i otwórzmy nowe. W nim utworzymy parę kluczy publiczny-prywatny. Będą one potrzebne nam do uwierzytelniania się na serwerze bez potrzeby podawania hasła:
ssh-keygen -t dsa -f ~/.ssh/id_dsa_open
Passphrase musi pozostać puste, tak więc wciskamy 2 razy enter.
Dodajmy nasz klucz:
ssh-add ~/.ssh/id_dsa_open
Kopiujemy nasz klucz publiczny na serwer:
ssh-copy-id -i ~/.ssh/id_dsa_open.pub user@adres.naszego.serwera
Próbujemy się zalogować na serwerze wykorzystując klucz (bez potrzeby podawania hasła):
sudo ssh -i ~/.ssh/id_dsa_open user@adres.naszego.serwera
Edytujemy /etc/auto.master dopisując następującą linijkę:
/media/sshfs /etc/auto.sshfs --timeout=3600 --ghost --verbose
Powyższy wpis sprawi, że nasze zdalne katalogi montowane będą w katalogu /media/sshfs.
Dodajemy wpis w /etc/auto.sshfs:
nazwa_zasobu -fstype=fuse,rw,allow_other,noatime,IdentityFile=/home/user/.ssh/id_dsa_open :sshfs\#user@adres.naszego.serwera\:/sciezka/do/katalogu/zdalnego
Pamiętajcie żeby zamienić "user" na login ze zdalnego konta oraz podać prawidłowy adres serwera oraz ścieżkę do katalogu który chcemy sobie udostępnić.
Restartujemy autofs:
sudo restart autofs
Wchodzimy w /media/sshfs i korzystamy z naszych danych kiedykolwiek potrzebujemy.
Warto oczywiście pamiętać, że prędkość dostępu do danych zgromadzonych na zasobie zdalnym będzie zależna od łącza jakie posiadamy (my oraz druga strona), tak więc jeśli potrzebujemy przetransferować jakiś duży plik, może to chwilę potrwać.