NFS služba však nemusí vždy bežať na vzdialenom počítači ako daemon (server). A aj keby bežala, na vzdialenom systéme je potrebné exportovať priečinok pre váš systém, z ktorého sa prihlasujete. Inými slovami musíte do súboru /etc/exports na vzdialenom počítači (kam sa chcete v rámci NFS prihlásiť) zapísať riadky, kde bude povolený váš počítač. Ale čo ak vám správca nedá súhlas?
NFS je dobrá kalkulácia, ale konfigurácia pre začiatočníka nemusí byť vždy najjednoduchšia, najmä ak druhá strana - administrátor vzdialeného systému - nie je veľmi ústretový.
Na druhej strane si poviete, že pre bezpečné kopírovanie dát postačí používať utility ako SCP (secure copy) alebo SFTP (secure ftp), ktoré dnes - určite najmä vďaka SSH - podporuje takmer každý server (Jak na SSH, SCP a SFTP). Ale môže nastať situácia, že potrebujete pracovať so súbormi na vzdialenom systéme, pritom ani neviete, že okrem NFS existujú ďalšie nástroje, pomocou ktorých pripojíte vzdialený systém bezpečne a transparentne ako ďalší disk do lokálneho adresára. Rybky zo siete tak vplávajú rovno k vám v bezpečných vodách SSH.
SSHFS
SSHFS (SSH [Secure Shell] File System) je súborový systém, v rámci ktorého bezpečne pripojíte adresár vzdialeného (sieťového) počítača cez SSH a budete s ním pracovať lokálne.
SSHFS spolupracuje s FUSE. FUSE modul SSHFS je oficiálnou súčasťou mainstream distribúcií Linuxu. Používatelia si takto pripoja súborové systémy do používateľského priestoru bez toho, že by potrebovali privilégia administrátora.
Pripojiť sa možno do akéhokoľvek vzdialeného počítača, do ktorého existuje cesta pomocou SSH, nie je teda potrebná žiadna špeciálna príprava pre používanie SSHFS. Pripojení môžete mať aj viac. Po pripojení príkaz mount vypíše napr. nasledovné informácie o SSHFS pripojeniach, z ktorých to prvé je lokálna sieť, druhé diaľkový prístup na server:
sshfs#juro@192.168.0.1:/mydisk on /mnt2 type fuse (rw,nosuid,nodev,max_read=65536)
sshfs#jj@unixtttedsk: on /mnt3 type fuse (rw,nosuid,nodev,max_read=65536)
Spôsob, ktorým sa realizuje pripojenie, je v zásade podobný ako pri SCP; používateľ aplikuje príkaz (pravdaže za predpokladu, že moduly SSHFS a FUSE sú načítané v jadre; viď tipy nižšie):
sshfs meno_používateľa@adresa_vzdialeného_počítača:jeho_adresár lokálny_adresár_pre_pripojenie
t. j. napr.:
sshfs juro@unixunixsk:/home /home/tmp
alebo
sshfs juro@192.168.0.1:/mojdisk /mnt2
Keď už raz pripojíte vzdialený adresár, vo vašej adresárovej hierarchii ho budete vidieť ako vlastný. Závisí od vás, kam ho pripojíte. Nesmiete však zabudnúť na práva - ani na počítači, kde pracujete, nemusíte vlastniť všetky adresáre. Pre odpojenie pripojeného adresára vzdialeného počítača použite:
fusermount -u lokálny_adresár
Výhodou oproti SCP je skutočnosť, že ak máte adresár pripojený vo vašom systéme Linux, budete môcť naň aplikovať všetky príkazy, ktoré má SCP iba v obmedzenom počte. Tu môžeme konkrétne uviesť napr. možnosť hľadať textové reťazce v súboroch (grep), uskutočňovať dávkové operácie (zmeniť názvy stoviek súborov atď.), úlohy cron, editovať súbory pomocou lokálnych editorov...
Tipy
Pre automatické pripojenie pri štarte počítača pomocou /etc/fstab musíme editorom do súboru fstab zapísať riadky:
sshfs#guest@guestlogincom:data /mnt/guest fuse uid=1003,gid=100,umask=0,allow_other 0 0
Pre sledovanie cesty symbolických odkazov na serveri je potrebné (s príkazom sshfs) zadať voľbu:
-o follow_symlinks
Ak chceme pripojiť vzdialený počítač cez SSHFS ako read only, uvedieme:
sshfs -o ro hostname: mountpoint
FUSE/SSHFS existuje aj pre FreeBSD a balíček fusefs-sshfs-1.8 bol integrovaný do repozitára balíkov (ports, kategória sysutils) FreeBSD. Pre pripojenie vzdialeného počítača v rámci SSHFS použijete prakticky rovnaké príkazy ako v Linuxe. To isté platí aj pre NetBSD (experimentálne), avšak žiaľ pre OpenBSD FUSE SSHFS nie je k dispozícii zatiaľ ako balíček.
Moduly sa nie vždy načítajú automaticky do jadra a pre ich načítanie sa používa príkaz insmod alebo modprobe. Vo FreeBSD je to kldload.
Záverom
SSHFS pracuje vskutku rýchlo pri diskových operáciách, t. j. čítanie a zapisovanie na disk. Jeho cieľom však nie je nahradiť služby ako NFS, skôr treba povedať, že - ako vraví sám autor tohto systému - zámerom je dať používateľom nástroj pre rýchle a flexibilné používanie, pri ktorom nie je potrebné nastavovať niečo na vzdialených počítačoch - stačí iba, ak na hostiteľskom systéme beží démon SSH.
SSHFS je jedinečná maličkosť, ktorú si môže vyskúšať každý najmä v situácii, keď SSH je dnes takmer všade štandardom pre bezpečnú komunikáciu.