GNU/Linux >> Znalost Linux >  >> Linux

SSHFS:Připojení vzdáleného souborového systému přes SSH

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.


Linux
  1. SSHFS (Secure SHell FileSystem) – Bezpečně připojte vzdálený souborový systém přes ssh

  2. SSH s autorizovanými klíči do systému Ubuntu se zašifrovaným homedir?

  3. Soubor protokolu Tail na více počítačích přes ssh

  1. Osm způsobů, jak chránit přístup SSH ve vašem systému

  2. Zakázat pípání systému přes SSH

  3. Připojení souborového systému přes internet

  1. Ssh – Zkopírujte soubor zpět do místního systému pomocí Ssh?

  2. Ssh – Vzdálená plocha přes Ssh Reverzní tunel, který má nahradit Teamviewer?

  3. Spuštění souboru skriptu přes Ssh přes Sudo?