Samotný SSHFS je souborový systém v uživatelském prostoru (FUSE), který používá protokol SSH File Transfer Protocol (SFTP) k připojení vzdáleného souborového systému. sshfs
command je klientský nástroj pro použití SSHFS k připojení vzdáleného souborového systému z jiného serveru lokálně na vašem počítači.
Poznámka: Uživatelský prostor (nebo uživatelská země) je veškerý kód operačního systému, který běží mimo jádro.
I když není tak výkonný jako místní souborový systém, sshfs
je snadný způsob práce se soubory na jiném počítači pomocí místních programů a nástrojů. Nejlepší ze všeho je sshfs
mohou na místním počítači používat neprivilegovaní uživatelé (ve skutečnosti se nedoporučuje ne být root nebo zvýšit svá práva při používání sshfs
) a nevyžaduje žádný speciální software na vzdáleném počítači kromě SSH s povoleným SFTP – běžné nastavení.
Instalace sshfs
sshfs
nástroj je dostupný ze standardních úložišť většiny distribucí a nejsnáze se instaluje pomocí správce balíčků dané distribuce. Pro Fedoru instalace sshfs
je stejně snadné jako:dnf install fuse-sshfs
. Na systémech založených na Debianu je balíček jednoduše sshfs
.
Připojení vzdáleného systému souborů
Jednou sshfs
je nainstalován, je bezpečné připojení vzdáleného souborového systému přes SSH jednoduché. Podle sshfs
manuálová stránka (man sshfs
), syntaxe příkazu je:
sshfs [user@]host:[dir] mountpoint [options]
Tato syntaxe by měla být známá každému, kdo dříve používal SSH nebo SCP.
Podívejme se na sshfs
v akci. Nejprve vytvořte (nebo vyberte existující) adresář, který chcete použít jako bod připojení. Všimněte si, že místní uživatel vyvolává sshfs
příkaz musí mít přístup pro zápis do přípojného bodu. Vzhledem k tomu, že se nedoporučuje používat účet root, může tato zásada provést pomocí ~/mnt
lepší než /mnt
. Pak už jen stačí použít sshfs
příkaz pro připojení ke vzdálenému počítači pomocí vašich přihlašovacích údajů SSH a určení vzdáleného umístění, které se má připojit k bodu připojení:
# Create the mountpoint
[chris@marvin ~ ]$ mkdir ~/mnt
# Invoke SSHFS with your SSH credentials and the remote location to mount
[chris@marvin ~ ]$ sshfs chris@zaphod:/home/chris/Pictures ~/mnt
# Access the newly mounted filesystem
[chris@marvin ~ ]$ ls ~/mnt/
'Screenshot from 2019-11-17 19-34-34.png'
Poznámka: Zajímavý fakt, sshfs
nerozšiřuje ~
na vzdáleném počítači do domovského adresáře uživatele.
K připojeným souborovým systémům lze přistupovat a používat je stejným způsobem jako místní souborový systém, a to jak z příkazového řádku, tak pomocí jiných nástrojů:
Až budete se vzdáleným souborovým systémem hotovi, odpojte jej pomocí fusermount
příkaz:
# Unmount the remote FS
[chris@marvin ~ ]$ fusermount -u ~/mnt
Možnosti připojení
Ve většině případů výchozí sshfs
příkaz lze použít tak, jak je, ale sshfs
není zdaleka jednoduchý příkaz. Existuje spousta možností a příznaků, které pokrývají různé situace, včetně možností SSH a SFTP, komprese atd. Podívejte se na sshfs
manuál (man sshfs
) pro více podrobností o tom, co je k dispozici.
Jednou z nejužitečnějších možností je však reconnect
, který umožňuje klientovi znovu navázat spojení se vzdáleným systémem, který je přerušen:
# Use "-o reconect" to allow the client to reconnect
[chris@marvin ~ ]$ sshfs chris@zaphod:/home/chris/Pictures ~/mnt -o reconnect
Připojení vzdáleného systému souborů při spuštění
sshfs
příkaz lze také použít v /etc/fstab
klientského systému soubor pro automatické připojení vzdáleného souborového systému. Použijte normální fstab
syntaxi včetně všech požadovaných voleb a použijte sshfs
místo typu souborového systému:
# file: /etc/fstab
chris@zaphod:/home/chris/Pictures /home/chris/mnt sshfs
Všimněte si, že pomocí sshfs
pomocí fstab
připojování souborů souborový systém musí být proveden jako root, takže je třeba provést příslušné úpravy pověření SSH a přijmout odpovídající opatření.
Koncový bod přepravy není připojen
Můžete obdržet Transport endpoint is not connected
chyba při přerušení připojení (řekněme, pokud klientský počítač změní sítě nebo je pozastaven). V tomto případě odpojte souborový systém pomocí fusermount
příkaz, jak je popsáno výše:
[chris@marvin ~ ]$ ls ~/mnt
ls: cannot access '/home/chris/mnt': Transport endpoint is not connected
[chris@marvin ~ ]$ fusermount -u ~/mnt
Doufáme, že vám tento článek poskytl základy potřebné pro práci s sshfs
. Je to skvělý nástroj pro bezpečnou práci se vzdálenými systémy souborů přes šifrované připojení SSH, když je připojen lokálně na vašem klientském počítači. A jak již bylo zmíněno, díky sshfs
protože jde o souborový systém FUSE, mohou jej používat i neprivilegovaní uživatelé, aniž by jej nastavoval správce.
Chcete vyzkoušet Red Hat Enterprise Linux? Stáhněte si ji nyní zdarma.