sshfs - ke vzdáleným souborům šifrovaně a interaktivně
Občas je potřeba pracovat se soubory, které jsou na jiném počítači,
řešeními jsou nfs, samba, webdav, ..., tj. varianty, které nemusí být
vždy dostupné, a sshfs.
5.4.2006 06:00 |
MaReK Olšavský
| Články autora
| přečteno 15315×
Poměrně nedávno jsem řešil, jak připojit soubory z notebooku k
mému
stolnímu počítači. Nabízela se řešení: Samba, WebDav, NFS, ale vše
vyžadovalo na notebooku instalaci dalšího software a jeho konfiguraci.
Řešení (když chci z jiného počítače něco nastavit, případně překopírovat nějaký soubor), které by bylo nejlepší, by bylo takové, jenž by využilo to, co mám již nainstalováno na notebooku a tím je běžící sshd.
Toto řešení se jmenuje sshfs
(ssh file system) a "objevil" jsem jej díky zprávičce z 21.11.2005 na
Linuxsoft.cz od
o.k.
Uplatnění tohoto programu nenajdete jen u případu podobného mému, ale i
pokud máte ssh přístup na server a nemůžete na něm instalovat jiný,
výše zmíněný, systém pro přístup k souborům. Já si přes sshfs připojuji
notebook, kde mám běžící LAMP, na lokálním počítači edituji soubory,
které jsou na něm uložené a nemusím řešit synchronizaci kódů a
dokumentů mezi několika počítači, na kterých průběžně pracuji.
Sshfs se opírá o fuse*
(filesystem in userspace), což je utilitka/modul, který umožňuje i
neprivilegovaným uživatelům vytvářet a používat, bez psaní jakéhokoliv
kódu do jádra, virtuální systém souborů připojený do toho svého. Modul
byl přidán i do jádra 2.6.14, čiže by měl být brzo
součástí všech aktuálních linuxových distribucí. Mezi jinými je tento
modul používán v projektu GmailFS, který umožňuje připojit
Gmail jako další souborový systém (nebo disk, chcete-li).
Pokud chcete sshfs používat, musíte mít ssh přístup na vzdálený
počítač, ke kterému se chcete takto připojovat a budete moci pracovat
pouze se soubory, ke kterým máte patřičná oprávnění na vzdáleném
stroji.
Nainstalování a používání sshfs.
Fuse je zatím potřeba v některých distribucích instalovat
ručně ze zdrojových kódů,
pro některé (u mě Ubuntu 5.10 a dnes již i Mandriva) jsou již balíčky
připravené, stejně je
tomu u celého sshfs. Instalaci začneme logicky u fuse.
Po stažení
a rozbalení potřebného souboru (nejméně verze 2.2) lze přistoupit k
jeho překladu a instalaci. K překladu budete potřebovat vývojářskou
verzi glib 2.0 či novější. Kompilace fuse probíhá standardně
trojkombinací ./configure && make
&& make install .
Po
tomto kroku by bylo teoreticky možné začít kompilovat sshfs, to by se
Vám pravděpodobně i dobře zkompilovalo, ale nefungovalo. Fuse se
nainstaluje do adresáře /user/local/lib , je třeba ověřit existenci této
cesty v /etc/ld.so.conf a případně jako root tuto cestu přidat. V
dalším kroku doporučuji spustit ldconfig. Pokud jste kompilovali modul
ze zdrojových kódů, budete muset ještě "ručně" vytvořit patřičný speciální znakový soubor a to
příkazem:
mknod -m 666 /dev/fuse c 10 229
a
přípojný bod, kam budete externí systém souborů připojovat (v mém
případě jsem zvolil logicky /mnt/fuse ). Poté
již můžete modul zavést použitím modprobe fuse ,
já jsem fuse ještě přidal do /etc/modules ,
aby mi automaticky nabíhal při každém startu počítače, protože jej
poměrně intenzivně používám.
Po instalaci fuse je možné přistoupit k instalaci sshfs. Opět
je
možné podstoupit instalaci ze zdrojových kódů pomocí ./configure
&& make && make install .
Je-li pro Vaši distribuci
připraven binární balík, bude tento mít pravděpodobně závislost na
fuse, za standardních podmínek si vyžádá jeho instalaci (nepoužíváte-li
některou z distribucí, které nehlídají závislosti) a nebudete muset
procházet krok z předchozího odstavce. Pokud chcete používat sshfs i
jako běžný uživatel, možná (někdy zůstane dostupný jen pro roota)
budete muset přenastavit práva pro soubory sshfs
a fusermount. Souborový systém
vzdáleného počítače připojíme pomocí příkazu:
sshfs [uživatel@]vzdálený_stroj:[vzdálený_adresář] lokální_přípojný_bod [volby]
(například k domácímu skladišti se připojuji
pomocí sshfs marek@192.168.1.3:/ /mnt/fuse -C).
Pokud za dvojtečku za názvem nebo IP adresou, nezadáte startovní
adresář, ke kterému pochopitelně musíte mít oprávnění přistupovat,
budete nasměrováni do domovského adresáře toho uživatele, jehož
přihlašovací jméno jste použili. Pokud nezadáte jméno uživatele, bude
se Vás sshfs snažit připojit pod stejným jménem, pod kterým jste
přihlášeni na počítači. Volby/přepínače jsou uvedeny poněkud
netradičně jako poslední. Jejich seznam získáte pomocí sshfs
-h, já používám s oblibou -C pro
zapnutí komprimovaného přenosu, protože většinou edituji textové
soubory, pokud bych zpracovával třeba komprimované grafické formáty,
touto volbou v podstatě nic nezískám a -d, když
chci mít náhled, co se při komunikaci děje.
Pokud jste
došli sem a dělali jste všechno stejně jako já, máte v adresáři
/mnt/fuse připojený vzdálený souborový systém a můžete pracovat. Zde si
neodpustím menší varování. Pokud máte udělány linky do jiných adresářů
nebo na soubory umístěné na disku, budou Vám ty na vašem počítači
fungovat korektně, ale ty, které máte na vzdáleném už fungovat nemusí.
Zdůvodnění je prosté. Když mám jako uživatel na vzdálenému počítači
udělánu v domovském adresáři zkratku html (symlink), který vede na
/var/www/ , tak připojím-li se nyní přes sshfs, vstoupím do domovkého
adresáře a zkusím cd html , povede mi v absolutních cestách, tj. na
lokálním počítači na /var/www .
Pro odpojení
vzdáleného souborového systému se nepoužívá příkaz sshfs s přepínačem,
ale fusermount [přepínač] lokální_připojovací_bod .
Přepínače získáte pomocí fusermount -h a pro
odpojení budete používat nejpravděpodobněji -u,
nebo -z. Před odpojením uzavřete všechny soubory,
které jste ze vzdáleného počítače měli otevřené, jinak Vám fusermount
nedovolí odpojení.
K čemu sshfs je a k čemu není?
Pokud potřebujete občas překopírovat pár souborů, je
vhodnějším
řešením použít ftp klienta (existují i terminálové, scripty ovladatelné), jeho bezpečnou variantu ftps, případně chcete-li
zautomatizovat vše do scriptů a máte vygenerovány certifikáty, lze
použít scp. Nemusíte nic instalovat. Zde je sice možné použít sshfs,
ale ostatní řešení jsou mnohem výhodnější.
Pokud potřebujete pracovat na vzdáleném stroji, je zapotřebí
používat telnet nebo ssh. Sshfs Vám zpřístupní vzdálené soubory, ale
veškeré programy/příkazy spouštíte lokálně na svém počítači. Ilustrujme
situaci následovně. Pokud na vzdáleném stroji (ideálně odlišné
architektury) máte uložené zdrojové kódy a bez určení architektury
stroje je zkompilujete, budou spustitelné na počítači, ze kterého jste
je kompilovali, nikoliv na stroji kde jsou uloženy a pokud překladači
sdělíte cílovou architekturu a pokusíte se je spustit z počítače, ze
kterého jste připojeni, také pohoříte (není myšleno spuštění třeba přes
ssh, ale přímo na Vašem stroji, kde si jen vyberete pracovní adresář,
který bude "navázán" přes sshfs na vzdálený stroj).
Dalším velice nevhodným použitím sshfs je následující způsob
archivace dat ze vzdáleného stroje. Připojíte vzdálený počítač přes
sshfs, spustíte tar, s paramety pro zkomprimování, pro vytvoření záloh
vzdáleného stroje. Opět, uvažte především rychlost, s jakou bude celá
tato operace prováděna. Archív bude vytvářen na Vašem stroji, veškerá
data budou v nezkomprimované podobě (komprese ssh příliš nezefektivní) stahována na Váš počítač a teprve tam je
zpracuje archivační program. Pokud neurčíte místo, bude archiv přenášen
zpět na "zdrojový" stroj a posléze si jej budete moci překopírovat k
sobě. Zde je opět mnohem vhodnější kombinací mít vygenerovány
certifikáty, použít ssh pro odeslání příkazů pro vytvoření archívu a
posléze je překopírovat pomocí rsync, nebo scp na Váš cílový stroj.
Sshfs je opravdu především nástrojem pro interaktivní práci se
soubory na vzdáleném počítači ke kterému máte povolený ssh přístup.
Závěr
Sshfs nabízí něco, co může být pro spoustu uživatelů, kteří
jsou
mobilní mezi několika desktopy a mají ssh přístup k "serveru",
výhodou. Pracujete lokálně na svých souborech, které máte
uloženy
třeba doma na desktopu a máte je přístupné pěkně v souborovém systému.
Já používám tento systém k přístupu k souborům na mém notebooku, který
defakto funguje, jako přenosný vývojový WWW server a jsem s tímto
řešením 100% spokojen.
Odkazy
http://www.cs.wm.edu/~zvezdan/research/780project/
... Velice detailní popis toho, jak sshfs funguje.
http://fuse.sourceforge.net/
... Domovská stránka projektu FUSE
http://fuse.sourceforge.net/sshfs.html
... Domovská stránka projektu sshfs
*/FUSE
je i na tomto
serveru již popisovaný emulátor Sinclair ZX-Spectrum. Dokonce autor
tohoto FUSE, neznal emulátor FUSE, je autorem spectemu, který byl také
popisován v článku o emulátorech Sinclaira. :-D
Verze pro tisk
|
Příspívat do diskuze mohou pouze registrovaní uživatelé.
|
|

Vyhledávání software

Vyhledávání článků
28.11.2018 23:56 /František Kučera Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1
12.11.2018 21:28 /Redakce Linuxsoft.cz 22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář
6.11.2018 2:04 /František Kučera Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
4.10.2018 21:30 /Ondřej Čečák LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář
18.9.2018 23:30 /František Kučera Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
9.9.2018 14:15 /Redakce Linuxsoft.cz 20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář
12.8.2018 16:58 /František Kučera Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář
16.7.2018 1:05 /František Kučera Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář
Více ...
Přidat zprávičku
 Poslední diskuze
31.7.2023 14:13 /
Linda Graham iPhone Services
30.11.2022 9:32 /
Kyle McDermott Hosting download unavailable
13.12.2018 10:57 /
Jan Mareš Re: zavináč
2.12.2018 23:56 /
František Kučera Sraz
5.10.2018 17:12 /
Jakub Kuljovsky Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?
Více ...
|